web-dev-qa-db-ja.com

各ループを経由せずに辞書オブジェクトからすべてのキー(キーのみ)を取得する方法

For eachループを使用せずにすべてのキーを配列に返す方法があるかどうかを確認します(私が探している各ループに使用する制約はありません)

前もって感謝します

32
Grasshopper

キーと値のどちらが必要かは、文言からはわかりません。いずれにせよ、それは非常に簡単です。辞書の Keys または Values プロパティと ToArray 拡張を使用します方法。

var arrayOfAllKeys = yourDictionary.Keys.ToArray();

var arrayOfAllValues = yourDictionary.Values.ToArray();
64
LukeH

キーまたは値が必要ですか?

次のようなキーを取得できます。

dictionary.Keys.ToArray();

このような値を取得できます。

dictionary.Values.ToArray();

このToArrayメソッドはSystem.Linq.Enumerableからのものです。

4
Tiago Ribeiro
string[] myKeys;
myKeys = myDictionary.Keys.ToArray();

未テストですが、なぜ機能するのかわかりません。

1
Ryan O'Neill

あなたが使用することができます:-

dict.Select(p => $"Keys in dict: {p.Key}")
0
UrviG