辞書の値のリストを配列に変換する最も効率的な方法は何ですか?
たとえば、Dictionary
where Key
isString
とValue
isがあるFoo
場合、取得したいFoo[]
VS 2005、C#2.0を使用しています
回答:
// dict is Dictionary<string, Foo>
Foo[] foos = new Foo[dict.Count];
dict.Values.CopyTo(foos, 0);
// or in C# 3.0:
var foos = dict.Values.ToArray();
using System.Linq;
最近では、LINQを使用できるようになると、辞書キーとその値を1つの文字列に変換できます。
次のコードを使用できます。
// convert the dictionary to an array of strings
string[] strArray = dict.Select(x => ("Key: " + x.Key + ", Value: " + x.Value)).ToArray();
// convert a string array to a single string
string result = String.Join(", ", strArray);