0

我确信这可以通过 Linq 轻松完成,但我无法弄清楚。

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

我假装要做的是获得两个第一个将其属性IsSelected设置为 true 的对象。

我不能使用上面写的语法,因为编译器不能使用“ls2声明之前的局部变量”。

4

4 回答 4

7

使用Where仅过滤选定的结果,然后使用Take选择前两个,例如

plotter.Model.Series.Where(x => x.IsSelected).Take(2);
于 2013-07-18T15:23:59.163 回答
1

尝试这个:

var ls1and2 = plotter.Model.Series.Where(x => x.IsSelected).Take(2);
于 2013-07-18T15:24:23.777 回答
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 回答