0

これはLinqで簡単にできると確信していますが、わかりません。

var ls1 = plotter.Model.Series.FirstOrDefault(x => x.IsSelected);
var ls2 = plotter.Model.Series.FirstOrDefault((x => x.IsSelected)&&(ls2!=ls1));

私がふりをしているのは、プロパティIsSelectedが true に設定されている最初の 2 つのオブジェクトを取得することです。

ls2コンパイラは「宣言される前のローカル変数」を使用できないため、上記の構文を使用できません。

4

4 に答える 4

7

Whereを使用して選択した結果のみをフィルタリングし、Takeを使用して最初の 2 つを選択します。

plotter.Model.Series.Where(x => x.IsSelected).Take(2);
于 2013-07-18T15:23:59.163 に答える
1
var ls1 = plotter.Model.Series.Where(x => x.IsSelected).Take(2);
于 2013-07-18T15:25:06.620 に答える
1

Takeメソッドを使用してこれを行う必要があります

var ls1 = plotter.Model.Series.Where(x => x.IsSelected).Take(2);
于 2013-07-18T15:25:09.433 に答える
1

これを試して:

var ls1and2 = plotter.Model.Series.Where(x => x.IsSelected).Take(2);
于 2013-07-18T15:24:23.777 に答える