からリスト
class A
{
int contractID;
string name;
string blah;
etc...
}
複数にClassA)は(リストに保存され保存されます。すべてのContractIDをListに基づいてリストを作成します。 List()を反復処理するのではなく、LINQでこれを行う方法がありますか?
からリスト
class A
{
int contractID;
string name;
string blah;
etc...
}
複数にClassA)は(リストに保存され保存されます。すべてのContractIDをListに基づいてリストを作成します。 List()を反復処理するのではなく、LINQでこれを行う方法がありますか?
Select
拡張メソッドを使用すると、contractIDの投影を作成できます。同様に:
var listOfClass = new List<ClassA>(); //Or however you get your list.
var contractIDs = listOfClass.Select(x => x.contractID).ToList();
var onlyContractIDs = myList.Select(x => x.contractID).ToList()
List<ClassA> input = ...;
List<int> output = input.Select(a => a.contractID).ToList();
Select
は、一般的な方法です。明示的に指定されていれば、入力タイプと出力タイプを指定するSelect<ClassA, int>
となります。
端にToList()
はList<int>
にIEnumerable<int>
から変換し、それはむしろIEnumerable<int>
が列挙されている場合よりも、今、入力リスト上の反復を行います。
あなたがリストを持っている場合は、この
List<int> contractIDs = mycollection.Select(a => a.ContractID).ToList();
var list = new List<ClassA>();
...
list.Select(a => a.ContractID);
のようにLINQでリストを作ることができます