将Dictionary.keyscollection转换为字符串数组

leo*_*ora 54 c# collections

我有一个Dictionary<string, List<Order>>,我想要一个数组中的键列表.但是当我选择时

string[] keys = dictionary.Keys;
Run Code Online (Sandbox Code Playgroud)

这不编译.

如何转换KeysCollection为字符串数组?

Tho*_*que 107

假设您使用的是.NET 3.5或更高版本(using System.Linq;):

string[] keys = dictionary.Keys.ToArray();
Run Code Online (Sandbox Code Playgroud)

否则,您将不得不使用CopyTo方法,或使用循环:

string[] keys = new string[dictionary.Keys.Count];
dictionary.Keys.CopyTo(keys, 0);
Run Code Online (Sandbox Code Playgroud)

  • @JonCage,`ToArray`是`System.Linq.Enumerable`中定义的扩展方法; 据我所知,C++/CLI不支持扩展方法,所以你必须把它称为普通的静态方法:`System :: Linq :: Enumerable :: ToArray(dictionary.Keys)` (5认同)
  • 我知道这是超级旧的,但对于我们这些开发SharePoint的人来说,感谢您加入旧的框架解决方案. (2认同)