一段WP7应用代码

时间:2021-04-18 03:13:20
namespace PostCodeManger
{
    public class PostCodeQuery
    {
         private static readonly PostCodeQuery instance = new PostCodeQuery();
        问题一:这样声明可以在多线程时,不用担心线程死锁,问什么呢???

         private Dictionary<int, string> postcodes = new Dictionary<int, string>();
        问题二:这是数据字典和哈希表是不是等效???



        public static PostCodeQuery Instance
        {
            get
            {
                return instance;
            }
        }
        
         问题三:先为类创建一个对象实例,然后用静态类成员实例返回对象实例,这样做有什么好处呢???
        private PostCodeQuery()
        {
            postcodes[100142] = "钓鱼台";
            postcodes[100031] = "*";
        }

        public string GetAddressByPostcode(int postcode)
        {
            string str = "没找到";
            if (postcodes.ContainsKey(postcode))
            {
                str = postcodes[postcode];
            }

            return str;
        }
    }
}

6 个解决方案

#1


1.第一个问题是,静态变量是在初始化的时候创建对象的,即使多线程同时使用这个类,只会初始化一次
2.Dictionary和哈希表不是等效的
3.这个是设计模式中Singleton模式,保证一个类只有一个唯一的实例。

#2


该回复于2011-05-12 09:27:28被版主删除

#3


引用 1 楼 ultrapro 的回复:
1.第一个问题是,静态变量是在初始化的时候创建对象的,即使多线程同时使用这个类,只会初始化一次
2.Dictionary和哈希表不是等效的
3.这个是设计模式中Singleton模式,保证一个类只有一个唯一的实例。


设计模式中Singleton模式

Mark,能深入介绍下吗???

#4


引用 1 楼 ultrapro 的回复:
1.第一个问题是,静态变量是在初始化的时候创建对象的,即使多线程同时使用这个类,只会初始化一次
2.Dictionary和哈希表不是等效的
3.这个是设计模式中Singleton模式,保证一个类只有一个唯一的实例。

赞很清楚,
1.其实是一个c#的特性静态变量有线程安全的特性,没有为什么。
2.字典和哈希不一样,百度一下吧,字典是一种特殊的哈希。
3.就是单例在整个程序当中有一个类的对象比如你在做程序UI的时候背景对象就只有一个。类似于这种需要用到这个模式。
 

#5


顶起,Marl...

#6


顶下。。。

#1


1.第一个问题是,静态变量是在初始化的时候创建对象的,即使多线程同时使用这个类,只会初始化一次
2.Dictionary和哈希表不是等效的
3.这个是设计模式中Singleton模式,保证一个类只有一个唯一的实例。

#2


该回复于2011-05-12 09:27:28被版主删除

#3


引用 1 楼 ultrapro 的回复:
1.第一个问题是,静态变量是在初始化的时候创建对象的,即使多线程同时使用这个类,只会初始化一次
2.Dictionary和哈希表不是等效的
3.这个是设计模式中Singleton模式,保证一个类只有一个唯一的实例。


设计模式中Singleton模式

Mark,能深入介绍下吗???

#4


引用 1 楼 ultrapro 的回复:
1.第一个问题是,静态变量是在初始化的时候创建对象的,即使多线程同时使用这个类,只会初始化一次
2.Dictionary和哈希表不是等效的
3.这个是设计模式中Singleton模式,保证一个类只有一个唯一的实例。

赞很清楚,
1.其实是一个c#的特性静态变量有线程安全的特性,没有为什么。
2.字典和哈希不一样,百度一下吧,字典是一种特殊的哈希。
3.就是单例在整个程序当中有一个类的对象比如你在做程序UI的时候背景对象就只有一个。类似于这种需要用到这个模式。
 

#5


顶起,Marl...

#6


顶下。。。