为什么我不能在C#中的类声明结尾处加一个分号

时间:2011-05-15 11:16:01

标签: c#

在C#类声明中:

class thing
{
    ...
}

为什么在课堂宣言结束时,我不能包括分号?它与C ++完全不同。您可以看到Why must I put a semicolon at the end of a class declaration in C++?

4 个答案:

答案 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 ++的风格兼容性。