为什么C#中每一行末尾都需要分号?为什么编译器不能知道每条线的结束位置?
行结束符字符将使您能够跨多行中断语句.
另一方面,像VB这样的语言有一个行继续符.我个人认为用分号终止语句而不是继续使用下划线更清晰.
不,编译器不知道换行是用于语句终止,也不应该.如果您愿意,它允许您将语句带到多行.
看到:
string sql = @"SELECT foo FROM bar WHERE baz=42";
或者大方法重载怎么样:
CallMyMethod(thisIsSomethingForArgument1, thisIsSomethingForArgument2, thisIsSomethingForArgument2, thisIsSomethingForArgument3, thisIsSomethingForArgument4, thisIsSomethingForArgument5, thisIsSomethingForArgument6);
相反,分号也允许多语句行:
string s = ""; int i = 0;
这是多少陈述?
for (int i = 0; i < 100; i++) // <--- should there be a semi-colon here? Console.WriteLine("foo")
需要使用分号来消除歧义.
因此除了内部标识符和关键字等之外,空格并不重要.