MSDN上有这样一句话:
条件运算符为右联运算符。 表达式 a ? b : c ? d : e 按照 a ? b : (c ? d : e) 而非 (a ? b : c) ? d : e 计算。
地址是:https://msdn.microsoft.com/zh-cn/library/vstudio/ty67wk28(v=vs.100).aspx
我写的测试代码结果却和说的不一样!
Console.WriteLine("--------------");
var q = 3>1;
var tt = q ? retT(3) : false ? retT(2) : retT(1);
Console.WriteLine("--------------");
var ttt = q ? retT(3) : (false ? retT(2) : retT(1));
static object retT(object a)
{
Console.WriteLine(a ?? "null");
return a;
}
运行结果都只输出3