2011-03-03 27 views
24

我檢查是否有任何方法可以在不使用每個循環的情況下返回數組的所有鍵我使用的每一個循環我只是在尋找是否有任何其他方式)如何從字典對象中獲取所有的鍵(沒有通過每個循環)

在此先感謝

+2

看到相關的[如何得到清單中的關鍵字在字典中的C - 銳](http://stackoverflow.com/questions/1276763/how-to-get-the-list -of-key-in-dictionary-c-sharp?rq = 1) – nawfal 2013-03-30 20:32:38

回答

55

我不是從你的某些措辭是否要鍵或值。無論哪種方式,這是非常簡單的。使用字典的KeysValues屬性和ToArray擴展方法。

var arrayOfAllKeys = yourDictionary.Keys.ToArray(); 

var arrayOfAllValues = yourDictionary.Values.ToArray(); 
+0

hm ...它對我不起作用 - System.Collections.Generic.Dictionary .KeyCollection'不包含定義對於'ToArray'並且沒有擴展方法'ToArray'接受類型'System.Collections.Generic.Dictionary .KeyCollection'的第一個參數可以找到(你是否缺少使用指令或程序集引用?) – 2015-08-12 21:08:00

+5

@Chiz:'ToArray'是一種LINQ擴展方法,因此您需要在代碼頂部使用'using System.Linq;'指令。 – LukeH 2015-08-12 22:23:06

1
string[] myKeys; 
myKeys = myDictionary.Keys.ToArray(); 

未經檢驗的,但我不明白爲什麼它會工作。

+0

This code:'var arrayOfAllKeys = yourDictionary.Keys.ToArray();'發佈者LukeH更好,因爲這個代碼越來越容易理解。 和可訪問的值通過代碼: 'arrayOfAllKeys。[0] .ToString();' 謝謝。 – 2013-09-23 07:09:02

3

你想要的鍵或值?

,你可以得到這樣的關鍵:

dictionary.Keys.ToArray(); 

,你可以得到這樣的值;

dictionary.Values.ToArray(); 

此ToArray方法來自System.Linq.Enumerable。

相關問題