检索与条件匹配的前两个元素

本文关键字:两个 元素 条件 检索 | 更新日期: 2023-09-27 18:23:59

我相信用Linq可以很容易地做到这一点,但我无法理解。

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

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

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

检索与条件匹配的前两个元素

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

plotter.Model.Series.Where(x => x.IsSelected).Take(2);

试试这个:

var ls1and2 = plotter.Model.Series.Where(x => x.IsSelected).Take(2);
var ls1 = plotter.Model.Series.Where(x => x.IsSelected).Take(2);

您应该使用Take方法并执行此

var ls1 = plotter.Model.Series.Where(x => x.IsSelected).Take(2);