在C#中将字典转换为列表集合

问题描述 投票:80回答:6

我在尝试将字典转换为列表时遇到问题。

示例如果我有一个字典,其中模板字符串为键,字符串为值。然后我希望将字典键转换为列表集合作为字符串。

Dictionary<string, string> dicNumber = new Dictionary<string, string>();
List<string> listNumber = new List<string>();

dicNumber.Add("1", "First");
dicNumber.Add("2", "Second");
dicNumber.Add("3", "Third");

// So the code may something look like this
//listNumber = dicNumber.Select(??????);
c# list dictionary
6个回答
156
投票

要将密钥转换为自己的列表:

listNumber = dicNumber.Select(kvp => kvp.Key).ToList();

或者你可以缩短它,甚至不用使用select:

listNumber = dicNumber.Keys.ToList();

20
投票

或者:

var keys = new List<string>(dicNumber.Keys);

16
投票

如果您想使用Linq,那么您可以使用以下代码段:

var listNumber = dicNumber.Keys.ToList();

7
投票

如果你想转换键:

List<string> listNumber = dicNumber.Keys.ToList();

否则,如果你想转换价值观:

List<string> listNumber = dicNumber.Values.ToList();

4
投票
foreach (var item in dicNumber)
{
    listnumber.Add(item.Key);
}

3
投票

如果你想将Dictionary键集合传递给一个方法参数。

List<string> lstKeys = Dict.Keys;
Methodname(lstKeys);
-------------------
void MethodName(List<String> lstkeys)
{
    `enter code here`
    //Do ur task
}
© www.soinside.com 2019 - 2024. All rights reserved.