方案一: 单列模式        #region 单列模式        /// <summary>
        /// 静态本身对象
        /// </summary>
        private static LoginModel theLoginModel = null;        /// <summary>
        /// 私有构造方法
        /// </summary>
        private LoginModel() { }        /// <summary>
        /// 返回本身对象
        /// </summary>
        /// <returns></returns>
        public static LoginModel Instance()
        {
            if (theLoginModel == null)
            {
                theLoginModel = new LoginModel();
            }
            return theLoginModel;
        }        #endregion
方案二:        private static string _Login_UserName;        public static string Login_UserName
        {
            get { return LoginModel._Login_UserName; }
            set { LoginModel._Login_UserName = value; }
        }

解决方案 »

  1.   

    static存储的对象应该是比较单一的,不是频繁变动的对象,例如缓存
    你所列的两种方案也不是一回事,没有可比性,第一种那是设计模式,第二种那是一个静态属性
    要说区别,第一中是只保证运行时只初始化一次该对象(第一种应该加一个状态检测),第二种可能会有多次写入
      

  2.   

    http://topic.csdn.net/u/20100303/11/5268b906-1209-44eb-a397-772599160309.html?seed=1578847123&r=63847350#r_63847350
      

  3.   


    在程序使用中,有些参数需要时常使用,还有些出现在循环、Timer中,因此想到用全局变量!
      

  4.   

    上述两种方法对于内存来说看不出来差异,只不过时间的问题
    方法1: 使用了延迟加载,2 就是直接分配,
    不过1中存在多线程访问时,可能会有多个实例的现象,这个需要用到 double check关于内存分配,要在这种内容上对比,基本上的不出结果。
    建议楼主继续关注其他更多,更广的面。
    比如:架构设计方面的问题,业务流程的优化,等
      

  5.   


    如果仅仅是这个需求,上面的两种可以说没有差别,这种细微的差别只有大量调用时才会凸显。
    并且,他们的最终都是使用了 static,所以最后看不出来内存有和差别,只是创建的时间有先后而已。全局的变量一般做法就是使用结构体或固定的一个类(eg:GlobalSettings)作为信息载体,此类 GlobalSettings  是否实现单态并不重要,更重要的是其内部的字段,类型划分需要注意而已。
      

  6.   

    没有找到GlobalSettings的相关模板文件!
      

  7.   

    单例的概念,是用于new一个对象那种使用情况下,考虑设计需求不考虑什么内存最省。