我有一个方法需要一个List<int>
,这是一个ID列表。我的数据来源是Dictionary<int, string>
,其中整数是我想要的清单。有没有比下面的代码更好的方式来获得这个?如何从字典<int, string>中提取列表<int>?
var list = new List<int>();
foreach (var kvp in myDictionary)
{
list.Add(pair.Key);
}
ExecuteMyMethod(list);
我有一个方法需要一个List<int>
,这是一个ID列表。我的数据来源是Dictionary<int, string>
,其中整数是我想要的清单。有没有比下面的代码更好的方式来获得这个?如何从字典<int, string>中提取列表<int>?
var list = new List<int>();
foreach (var kvp in myDictionary)
{
list.Add(pair.Key);
}
ExecuteMyMethod(list);
你可以做
var list = myDictionary.Keys.ToList();
或者
var list = myDictionary.Select(kvp => kvp.Key).ToList();
是的,你可以使用Keys
收藏列表的构造函数:
List<int> list = new List<int>(myDictionary.Keys);
该解决方案不仅是优雅的简洁,但也适用于C#2和.NET 2。 – 2010-05-14 00:55:47
像Guffa说这是一件容易的事情优雅。 或
List<int> nList = myDictionary.Keys.ToList<int>();
的美妙之处在于:-) – DaveDev 2010-05-13 22:57:38