C#如何编译?
if (info == 8)
info = 4;
otherStuff();
它会包含代码块中的后续行吗?
if (info == 8)
{
info = 4;
otherStuff();
}
或者它只需要下一行吗?
if (info == 8)
{
info = 4;
}
otherStuff();
答案 0 :(得分:38)
是的,它支持它 - 但它需要下一个语句,而不是下一个行。例如:
int a = 0;
int b = 0;
if (someCondition) a = 1; b = 1;
int c = 2;
相当于:
int a = 0;
int b = 0;
if (someCondition)
{
a = 1;
}
b = 1;
int c = 2;
我个人总是在if
语句的主体周围加上大括号,而且我遇到的大多数编码约定采用相同的方法。
答案 1 :(得分:7)
if (info == 8)
{
info = 4;
}
otherStuff();
答案 2 :(得分:4)
它的工作方式类似于C / C ++和Java。没有curlies,它只包括下一个声明。
答案 3 :(得分:1)
是的,它支持如果没有大括号的代码块,只有if之后的第一个语句将包含在if块中,就像在你的第二个例子中一样
答案 4 :(得分:0)
当然“if”仅适用于“info = 4”。
答案 5 :(得分:0)
它只需要下一行,因此您的示例将编译为第二个可能的结果示例。
答案 6 :(得分:0)
在C#中,if语句基于括号运行命令。如果没有给出括号,如果该语句为true则运行下一个命令,然后运行命令。如果条件为假,则继续执行下一个命令
因此
if( true )
method1();
method2();
与
相同if( true )
{
method1();
}
method2();