在每种情况下要执行多个操作时,可以使用三元运算符吗?
var replace = list[row][col + 1] == "P" ? list[row][col] = "P", list[row][col]
= "P" : list[row][col + 1] = ".";
答案 0 :(得分:1)
编写此代码的方式是:
if (list[row][col + 1] == "P")
{
//multiple operations
}
else
{
//multiple operations
}
三元运算符并不意味着支持运算。它支持在两个值之间进行选择。您确实不应该在?
标记之后分配任何内容。
事实证明,=
运算符不仅会赋值,而且还会返回一个值,所以您可能找出某种方法使之起作用,例如通过初始化数组带有赋值结果的几个值:
// If c is true, a will be set to "A" and b will b e set to "B"
var q = c ? new[]{ a = "A", b="B"} : new string[]{};
但这不是?:
运算符的使用方式,它会使代码非常混乱。