读书人

跨号运算符的有关问题

发布时间: 2013-10-27 15:21:50 作者: rapoo

跨号运算符的问题


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>"
}

读书人网 >C#

热点推荐