是否有更简单的方法根据布尔值设置属性?
if(a)
{
if(b)
foreach(var item in items)
item.B = B;
else if(c)
foreach(var item in items)
item.C = C;
/*...*/
else if(e)
foreach(var item in items)
item.E = E;
}
答案 0 :(得分:1)
这样的事情怎么样:
if (!a) return;
B = b ? "some value" : null;
C = c ? "some value" : null;
E = e ? "some value" : null;
items.ToList().ForEach(u =>
{
u.B = B;
u.C = C;
u.E = E;
});
基本上,只有在a为真时才需要更新。 因此,当a为假时,只返回(假设这是一个无效方法)
现在,如果b为false,则不会更新item.B。将其视为字符串,即使您不更新它,它仍将为null。准确地说,根据你的旗帜更新B,C和E,然后使用" .ForEach"直接更新。
注意:根据您的数据类型和调用方法更新B,C和E,您必须重构代码