c#编译器对if后面不加大括号{}是怎么判断的
2个回答
展开全部
if( a == true)
{
x= 1;
y =2;
z = 3;
}
if( a==true)
x= 1;
y =2;
z = 3;
两种写法编译器都是识别的。区别在于:
第一种写法, 进入a == true 时,三句代码都会依次执行,a!=true 时,三句都不执行。
第二种写法(不带括号), 当 a == true 时,三局代码也都会执行。
但是当a!=true时, y =2 ;z =3;仍会执行。
也就是说, 当if()后面没有大括号时, 编译器默认把一个大括号扩在其下方第一句代码上。
if( a==true)
x= 1;
y =2;
z = 3;
编译后 相当于:
if( a==true)
{x= 1;}
y =2;
z = 3;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询