我正在尝试更新List基于a/1模式的对象的属性string.
//list.length is always == pattern.length
string pattern = Convert.ToString(8, 2);
var listWithDeleted = list.Select((s, index) => pattern[index] == '1' ? s.IsDeleted == true : s.IsDeleted = s.IsDeleted);
Run Code Online (Sandbox Code Playgroud)
我对有些难过else-clause : s.IsDeleted = s.IsDeleted我的内联的if语句来.我理解内联if需要一个else-clause,因为它需要返回一个值,但它让我想知道是否有更简洁的方法来做到这一点.
Jam*_*rpe 10
您可以使用:
s.IsDeleted = pattern[index] == '1' || s.IsDeleted
Run Code Online (Sandbox Code Playgroud)
如果它已经true,它会留true不管pattern[index],否则只会成为真,如果pattern[index]是'1'