2010-05-13 39 views
2

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

回答

13

你可以做

var list = myDictionary.Keys.ToList(); 

或者

var list = myDictionary.Select(kvp => kvp.Key).ToList(); 
+0

的美妙之處在於:-) – DaveDev 2010-05-13 22:57:38

6

是的,你可以使用Keys收藏列表的構造函數:

List<int> list = new List<int>(myDictionary.Keys); 
+0

該解決方案不僅是優雅的簡潔,但也適用於C#2和.NET 2。 – 2010-05-14 00:55:47

1

像Guffa說這是一件容易的事情優雅。 或

List<int> nList = myDictionary.Keys.ToList<int>(); 
相關問題