以下の問題に対するLINQ/Lambda式の解決策があるかどうか疑問に思っています。
私は2つの一般的なリストを持っています
リスト1
public class Data
{
public string ID { get; set;}
public string Package { get; set;}
}
List<Data> listData = new List<Data>();
Data data1 = new Data { ID = "1", Package = "Test" };
Data data2 = new Data { ID = "2", Package = "Test2" };
Data data3 = new Data { ID = "3", Package = "Test2" };
Data data4 = new Data { ID = "4", Package = "Test4" };
listData.Add(data1);
listData.Add(data2);
listData.Add(data3);
listData.Add(data4);
リスト 2
List<int> listFilter = List<int>();
listFilter.Add(1);
listFilter.Add(0);
listFilter.Add(0);
listFilter.Add(1);
「listFilter」の true (1) 基準に基づいて「listData」をフィルタリングしたいと思います。上記の例では、data1 と data4 を新しいリストにプルできる必要があります。
現時点では、以下のように for ループを使用してこれを実現しています。
List<Data> listResult = new List<Data>();
for(int index=0; index<listData.Count; index++)
{
if(listFilter[index]==1)
{
listResult.Add(listData[index]);
}
}
これを実現するためにLINQまたはラムダ式を使用する方法を教えていただければ幸いです。
ありがとう
バラン