2012-01-03 72 views
0

創建列表 我有一個是這樣定義的類: 從列表<class>

class A 
{ 
int contractID; 
string name; 
string blah; 
etc... 
} 

多ClassA的被存儲的存儲列表()。我並根據列表中的所有ContractID創建一個List。有沒有辦法在LINQ能夠做到這一點,而不是迭代List()?

回答

8

您可以使用Select擴展方法創建contractID的投影。像:

var listOfClass = new List<ClassA>(); //Or however you get your list. 
var contractIDs = listOfClass.Select(x => x.contractID).ToList(); 
0

var onlyContractIDs = myList.Select(x => x.contractID).ToList()

0
List<ClassA> input = ...; 
List<int> output = input.Select(a => a.contractID).ToList(); 

Select是一個通用的方法。明確指定,它將是Select<ClassA, int>,指定輸入和輸出類型。

ToList()最後從IEnumerable<int>轉換爲List<int>,它現在對輸入列表進行迭代,而不是在枚舉IEnumerable<int>時進行迭代。

0

如果你有一個列表,你可以做一個列表與LINQ這樣

List<int> contractIDs = mycollection.Select(a => a.ContractID).ToList(); 
0
var list = new List<ClassA>(); 
...    
list.Select(a => a.ContractID); 
相關問題