将Dictionary.keyscollection转换为string数组
我有一个Dictionary<string, List<Order>>
,我想有一个数组中的键的列表。 但是,当我select
string[] keys = dictionary.Keys;
这不会编译。
如何将KeysCollection
转换为string数组?
假设你正在使用.NET 3.5或更高版本( using System.Linq;
):
string[] keys = dictionary.Keys.ToArray();
否则,您将不得不使用CopyTo方法或使用循环:
string[] keys = new string[dictionary.Keys.Count]; dictionary.Keys.CopyTo(keys, 0);
用dictionary.Keys.CopyTo (keys, 0);
如果你不需要数组(你通常不需要),你可以迭代键。
如果您的密钥不是stringtypes,请使用它。 它需要LINQ。
string[] keys = dictionary.Keys.Select(x => x.ToString()).ToArray();
不幸的是,我没有VS附近检查这个,但我认为这样的事情可能会工作:
var keysCol = dictionary.Keys; var keysList = new List<???>(keysCol); string[] keys = keysList.ToArray();
哪里? 是你的关键types。