hashtabel与dictionary的区别-创新互联

1 :hashtabel与dictio
nary的区别

Hashtable 支持多个线程读, 同时只有一个线程写 , dictionary 不支持

创新互联是一家集网站建设,禹会企业网站建设,禹会品牌网站建设,网站定制,禹会网站建设报价,网络营销,网络优化,禹会网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

Hashtable supports multiple reader threads with a single writer thread, while Dictionary offers no thread safety. If you need thread safety with a generic dictionary, you must implement your own synchronization or (in .NET 4.0) use ConcurrentDictionary

2 : hash table 只能用 key 引用, 而不能 foreach , dictionary 可以。

引用 hash table:

public void MethodHashTable()
{
    Hashtable objHashTable= new Hashtable();
    objHashTable.Add(1, 100);  // int    objHashTable.Add(2.99, 200); // float    objHashTable.Add('A', 300);// char    objHashTable.Add("4", 400);// string
    lblDisplay1.Text= objHashTable[1].ToString();
    lblDisplay2.Text= objHashTable[2.99].ToString();
    lblDisplay3.Text= objHashTable['A'].ToString();
    lblDisplay4.Text= objHashTable["4"].ToString();


// ----------- Not Possible for HashTable ----------
//foreach (KeyValuePair pair in objHashTable)
//{
//    lblDisplay.Text = pair.Value + " " + lblDisplay.Text;
//}}

引用 dictionary :

public void MethodDictionary()
  {
    Dictionary dictionary = new Dictionary();
    dictionary.Add("cat", 2);
    dictionary.Add("dog", 1);
    dictionary.Add("llama", 0);
    dictionary.Add("iguana", -1);

//dictionary.Add(1, -2);// Compilation Error  foreach (KeyValuePair pair in dictionary)
    {
        lblDisplay.Text= pair.Value + " " + lblDisplay.Text;
    }
  }

网站名称:hashtabel与dictionary的区别-创新互联
本文来源:http://ybzwz.com/article/dcjhdp.html