将字典值列表转换为数组的最有效方法是什么?
举例来说,如果我有一个Dictionary
地方Key
是String
和Value
是Foo
,我想Foo[]
我正在使用VS 2005,C#2.0
// dict is DictionaryFoo[] foos = new Foo[dict.Count]; dict.Values.CopyTo(foos, 0); // or in C# 3.0: var foos = dict.Values.ToArray();
将其存储在列表中.它更容易;
Listarr = new List (dict.Values);
当然,如果你特意想要它在数组中;
Foo[] arr = (new List(dict.Values)).ToArray();
值上有一个ToArray()函数:
Foo[] arr = new Foo[dict.Count]; dict.Values.CopyTo(arr, 0);
但我不认为它有效(我没有真正尝试过,但我想它会将所有这些值复制到数组中).你真的需要一个阵列吗?如果没有,我会尝试传递IEnumerable:
IEnumerablefoos = dict.Values;