我在Linq遇到了问题。
我有下一堂课:
public class product {
public int nserie {get; set;}
public bool seleccionado {get; set;}
}
我有一个产品列表,我有一个带有输入复选框的列(根据seleccionado设置值)和列nserie。
当我检查标题中的按钮全部检查时,我正在执行此循环:
pedidos.ForEach(x => { if (x.NSerie == nserie) { x.seleccionado = true; } });
看起来它不起作用,循环的行为如果很奇怪。
有什么问题?
期待这个:
public static int MarcarCheckBox(string nserie, bool valor)
{
...
foreach (TarjetaActivar pedido in pedidos)
{
if (nserie == "") pedido.seleccionado = true;
else pedido.seleccionado = valor;
}
...
}
valor是一个布尔值。
答案 0 :(得分:0)
您没有在linq foreach中执行else子句。试试这样:
pedidos.ForEach(x => { if (x.nserie == "") { x.seleccionado = true; } else {x.seleccionado = valor } });
答案 1 :(得分:0)
简化为:
pedidos.ForEach(p => p.seleccionado = (nserie == "" || valor))