1.pls refer to the following screenshot

stroug the above screenshot, we can know the dictionar it generic type and it's type safe, while hashtable is not.

2. http://blog.csdn.net/david_520042/article/details/6025781

http://www.mahingupta.com/mahingupta/blog/post/2010/01/31/C-Difference-between-Hashtable-and-Dictionary.aspx

 

When we want a collection  data structure to hold data as key/value pairs, we have two obvious choices.

1. Dictionary

2. Hashtable

So basically what is the difference between both this and when to use which. Lets check it out. Point by Point.

1) Generics

Dictionary is a generic type, Hashtable is not. Now what that means. This is the most important aspect one should consider when taking decision. Dictionary is a generic type means

- You get type safety with Dictionary, because you can't insert any random object into it, and you don't have to cast the values you take out.

- And also generic collections are a lot faster as there's no boxing/unboxing

- Hashtable uses Object to hold things internally (Only non-generic way to do it). So you have to take care of type safety and cast it to appropriate data type when you take it out, but it also means that you can add keys and values of any type ( It is good or bad, well it depends :) )

- Again Hashtable also have to box/unbox, which may have memory consumption as well as performance penalties.

2) Thread Safety :

In .Net Hashtable is thread safe for use by multiple reader threads and a single writing thread, while in Dictionary public static members are thread safe, but any instance members are not guaranteed to be thread safe.

One more thing that can make difference is,  we can not use dictionary (generics) with web services. The reason is no web service standard supports generics standard.

 

Technorati Tags: C#,Hashtable,Dictionary,collection,Generics,instance,services,supports,collections

 

Windows Live Tags: C#,Hashtable,Dictionary,collection,Generics,instance,services,supports,collections

 

 

WordPress Tags: C#,Hashtable,Dictionary,collection,Generics,instance,services,supports,collections

 

 

3. C#数据结构和算法学习(散列表)

http://blog.csdn.net/nlx0201/article/details/6790521

 

4. http://www.cnblogs.com/lucifer1982/category/140153.html

posted on 2012-06-17 15:04  higirle  阅读(372)  评论(0)    收藏  举报