跨号运算符的问题
protected void Page_Load(object sender, EventArgs e)
{
int sta = 2;
Response.Write(sta>1?"a":sta>0?"b":"c"+ "<br>");
}
输出结果:a
<br>
protected void Page_Load(object sender, EventArgs e)
{
int sta = 2;
Response.Write((sta>1?"a":sta>0?"b":"c")+ "<br>");
}
输出结果:a<br>
为什么会不一样呢?好神奇啊 c# .net 运算符
[解决办法]
运算符优先级问题
Response.Write(sta>1?"a":sta>0?"b":"c"+ "<br>");
相当于
string s = "";
if (sta > 1)
{
s = "a";
}
else if (sta > 0)
{
s = "b"
}
else
{
s = "c"+ "<br>"
}