我的项目中有这段特定的代码:
if (type == 1)
if (line.StartsWith(user.PadRight(FieldLengths1[0])))
keep = true;
else if (type == 2)
if (line.StartsWith(user.PadRight(FieldLengths2[0])))
keep = true;
Run Code Online (Sandbox Code Playgroud)
最初,缩进是不同的.else-if应该链接到"if(type == 1)",正如内容所暗示的那样.但Visual Studio似乎已经改变了我的缩进,建议将它链接到下一个if(if(line.startswith ...))
这可能相当于
if (type == 1)
{
if (line.StartsWith(user.PadRight(FieldLengths1[0])))
keep = true;
}
else if (type == 2)
{
if (line.StartsWith(user.PadRight(FieldLengths2[0])))
keep = true;
}
Run Code Online (Sandbox Code Playgroud)
或者对此:
if (type == 1)
{
if (line.StartsWith(user.PadRight(FieldLengths1[0])))
keep = true;
else if (type == 2)
{
if (line.StartsWith(user.PadRight(FieldLengths2[0])))
keep = true;
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道else-if如何表现没有括号,以及究竟是什么决定它会链接到哪个?