C#KeyValuePair <string,int =“”> List - to <string>,不保留int值</string> </string,>

时间:2012-12-09 08:30:21

标签: c# list key-value

我的初始化是:

List<string> convertedList = new List<string>();  
List<KeyValuePair<string, int>> originalList = new List<KeyValuePair<string, int>>();

我基本上想要convertedList只使用 填充originalList中的字符串值。 因此,如果originalList有一些项目:["foo",5],["bar",16],["baz",100],我希望convertedList包含:["foo"],["bar"],["baz"]
到目前为止,我已经尝试过:

for (int i = 0; i <= originalList.Count; i++)
{
    convertedList.Add(actions.ToString());
}

但没有运气。
哦,请记住,我是一个新手,对此的答案可能非常明显 谢谢你帮帮我! 如果我只想转换前X个项目,我将如何继续进行?

2 个答案:

答案 0 :(得分:6)

 List<String> convertedList = originalList.Select(x => x.Key).ToList();

或者:

  convertedList.AddRange(originalList.Select(x => x.Key));

答案 1 :(得分:1)

坚持原始语法:

foreach (KeyValuePair<string, int> kvp in originalList)
{
    convertedList.Add(kvp.Key);
}