i have a Dictionary<string, List<Order>>
and i want to have the list of keys in an array. But when i choose
string[] keys = dictionary.Keys;
this doesn't compile.
how do i convert KeysCollection to array of strings.
i have a Dictionary<string, List<Order>>
and i want to have the list of keys in an array. But when i choose
string[] keys = dictionary.Keys;
this doesn't compile.
how do i convert KeysCollection to array of strings.
Assuming you're using .NET 3.5 or later :
string[] keys = dictionary.Keys.ToArray();
Otherwise, you will have to use the CopyTo method, or use a loop :
string[] keys = new string[dictionary.Keys.Count];
dictionary.Keys.CopyTo(keys, 0);
Unfortunately, I don't have VS nearby to check this, but I think something like this might work:
var keysCol = dictionary.Keys;
var keysList = new List<???>(keysCol);
string[] keys = keysList.ToArray();
where ??? is your key type.
Use this if your keys isn't of type string. It requires LINQ.
string[] keys = dictionary.Keys.Select(x => x.ToString()).ToArray();