2012-01-03 16 views
0

からリスト を作成します。 私はこのように定義されたクラス持たリスト<class>

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

複数にClassA)は(リストに保存され保存されます。すべてのContractIDをListに基づいてリストを作成します。 List()を反復処理するのではなく、LINQでこれを行う方法がありますか?

答えて

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()List<int>IEnumerable<int>から変換し、それはむしろIEnumerable<int>が列挙されている場合よりも、今、入力リスト上の反復を行います。

0

あなたがリストを持っている場合は、この

List<int> contractIDs = mycollection.Select(a => a.ContractID).ToList(); 
0
var list = new List<ClassA>(); 
...    
list.Select(a => a.ContractID); 
のようにLINQでリストを作ることができます
関連する問題