我有一個方法需要一個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