0
私は以下のリストを持っています。私は上記のサンプルデータの0と3を取得する必要がある値1一般的なリストの取得index
List<int> listFilter = new List<int>();
listFilter.Add(1);
listFilter.Add(0);
listFilter.Add(0);
listFilter.Add(1);
を持っているすべての項目のインデックスを取得したいと思います。
以下のコードは、私に[値、インデックス]ペアのオブジェクトを与えます。インデックスのみを持つリストを出力するには、これをどのように変更すればよいですか。
var val = listFilter.Select((value, index) => new { Value = value, Index = index }).Where(item => item.Value == 1).ToList();
おかげ
よろしく、 バランSinniah
非常にうまく動作します。お気軽に – balan
最初の選択は不要です。 listFilter.Where(value => value == 1).Select((value、index)=> index).ToList()は同じです。 – samjudson
@samjudsonそれは私の最初の考えでもありましたが、試してみると0,3ではなく答えとして0,1を得ました。問題は、where()が2つのエントリだけを持つ新しいenumerableを作成し、* that *からインデックスを選択したときに0,1を得ることです。最初の選択は元のリストからインデックスを取得する必要があります。 – AlanT