當前位置:成語大全網 - 書法字典 - 枚舉字典排列

枚舉字典排列

字典通常不容易分類。您可以使用SortDictionary類進行排序...~ ~ ~ ~ ~ ~ ~

參考MSDN:

SortedDictionary泛型類表示按鍵排序的鍵/值對的集合。

類型參數

TKey字典中的鍵類型。

TValue字典中值的類型。

SortedDictionary泛型類是壹個檢索操作復雜度為O(log n)的二叉查找樹,其中n是字典中元素的個數。在這方面,它類似於SortedList泛型類。這兩個類有相似的對象模型,並且都有O(log n)的檢索復雜度。這兩個類的區別在於內存的使用以及插入和移除元素的速度:

SortedList使用的內存比SortedDictionary少。

foreach(key value pair & lt;int,string & gt我的字典中的kvp...}

foreach語句是枚舉數的包裝,僅允許枚舉數讀取集合,但不允許寫入集合。

用法示例:

使用系統;

使用系統。集合。泛型;

公共類示例

{

公共靜態void Main()

{

//用字符串鍵創建新的字符串字典。

//

字典& ltstring,string & gtopenWith =

新詞典& ltstring,string & gt();

//在字典中添加壹些元素。沒有

//重復的鍵,但某些值是重復的。

打開方式。Add("txt "," notepad . exe ");

打開方式。Add("bmp "," paint . exe ");

打開方式。Add("dib "," paint . exe ");

打開方式。Add("rtf "," wordpad . exe ");

//如果新鍵為,Add方法將引發異常

//已經在字典中。

嘗試

{

打開方式。Add("txt "," winword . exe ");

}

catch(參數異常)

{

控制臺。with Key = \ " txt \ "的元素已經存在。");

}

Item屬性是索引器的另壹個名稱,因此您

//訪問元素時可以省略其名稱。

控制臺。WriteLine("For key = \"rtf\ ",value = {0}。,

open with[" rtf "]);

//索引器可用於更改關聯的值

//帶有密鑰。

open with[" rtf "]= " winword . exe ";

控制臺。WriteLine("For key = \"rtf\ ",value = {0}。,

open with[" rtf "]);

//如果鍵不存在,則設置該鍵的索引器

//添加新的鍵/值對。

open with[" doc "]= " winword . exe ";

//如果請求的鍵為,索引器將引發異常

//字典裏沒有。

嘗試

{

控制臺。WriteLine("For key = \"tif\ ",value = {0}。",

open with[" TIF "]);

}

catch (KeyNotFoundException)

{

控制臺。找不到WriteLine("Key = \"tif\ ");

}

//當壹個程序經常不得不嘗試結果並不是這樣的鍵時

//在字典中,TryGetValue可以是壹個更高效的

//檢索值的方式。

字符串值= " ";

if (openWith。TryGetValue("tif ",out value))

{

控制臺。WriteLine("For key = \"tif\ ",value = {0}。",值);

}

其他

{

控制臺。找不到WriteLine("Key = \"tif\ ");

}

// ContainsKey可用於在插入前測試密鑰

//他們。

如果(!打開方式。ContainsKey("ht "))

{

打開方式。Add("ht "," hypertrm . exe ");

控制臺。WriteLine(" key = \ " ht \ ":{ 0 } "的附加值,

open with[" ht "]);

}

//當使用foreach枚舉字典元素時,

//元素作為KeyValuePair對象進行檢索。

控制臺。WriteLine();

foreach(key value pair & lt;string,string & gtkvp in openWith)

{

控制臺。WriteLine("Key = {0},Value = {1} ",

kvp。鍵,kvp。值);

}

//若要單獨獲取值,請使用values屬性。

字典& ltstring,string & gt。值集合值集合=

打開方式。價值觀;

ValueCollection的元素是強類型的

//具有為字典值指定的類型。

控制臺。WriteLine();

foreach(value coll中的字符串)

{

控制臺。WriteLine("Value = {0} ",s);

}

//若要單獨獲取密鑰,請使用keys屬性。

字典& ltstring,string & gt。KeyCollection keyColl =

打開方式。鑰匙;

KeyCollection的元素是強類型的

//具有為字典鍵指定的類型。

控制臺。WriteLine();

foreach(key coll中的字符串s)

{

控制臺。WriteLine("Key = {0} ",s);

}

//使用Remove方法移除鍵/值對。

控制臺。WriteLine(" \ n remove(\ " doc \ ")");

打開方式。移除(" doc ");

如果(!打開方式。包含鍵(" doc "))

{

控制臺。找不到WriteLine("關鍵字\"doc\ ");

}

}

}

/*此代碼示例產生以下輸出:

具有Key = "txt "的元素已經存在。

對於key = "rtf ",值= wordpad.exe。

對於key = "rtf ",值= winword.exe。

未找到Key = "tif"。

未找到Key = "tif"。

key = " ht ":hypertrm.exe的附加值

Key = txt,Value = notepad.exe

鍵= bmp,值= paint.exe

關鍵字= dib,值= paint.exe

鍵= rtf,值= winword.exe

關鍵字=文檔,值= winword.exe

鍵= ht,值= hypertrm.exe

價值= notepad.exe

價值= paint.exe

價值= paint.exe

價值= winword.exe

價值= winword.exe

價值= hypertrm.exe

Key = txt

Key = bmp

Key = dib

Key = rtf

Key = doc

Key = ht

移除(“doc”)

找不到關鍵字“doc”。

*/