在C#类声明中:
class thing
{
...
}
为什么在课堂宣言结束时,我不能包括分号?它与C ++完全不同。您可以看到Why must I put a semicolon at the end of a class declaration in C++?
答案 0 :(得分:7)
因为那是what the language specification所说的。
请记住,C#在设计时并未考虑到任何C ++兼容性。语言设计者简单地决定,不需要结束分号。
答案 1 :(得分:3)
因为language specification(第263页)说它是可选的。
答案 2 :(得分:2)
如果你在块声明后使用分号,你的应用程序仍然可以正常编译,但你会得到一个警告,你有一个额外的分号。 C#不希望默认情况下以分号终止块。
public class MyClass
{
public void MyMethod()
{
// Arbitrary block
{
}; // Semicolon here is fine but not required
}
}; // Semicolon here is also fine but not required
答案 3 :(得分:2)
如果需要,可以将分号放在类声明的末尾,但这不是必需的。它是可选的设计,可能是为了保持与C ++的风格兼容性。