ForEach 的 lambda 表达式中不允许有条件运算符吗?
List<string> items = new List<string>{"Item 1", "Item 2", "Item I Care About"};
string whatICareAbout = "";
// doesn't compile :(
items.ForEach(item => item.Contains("I Care About") ?
whatICareAbout += item + "," : whatICareAbout += "");
编译错误->“只有赋值、调用、递增、递减和新对象表达式可以用作语句”
尝试使用正常的 if 也不起作用:
// :(
items.ForEach(item => if (item.Contains("I Care About")) {whatICareAbout += item + ", ";}
只是不可能?