需要匹配C#.cs文件名和类名吗?

在Java中,文件名必须是该java文件中定义的公共类名。 C#有类似的要求吗? 我可以在A.cs文件中定义一个公共B类吗? 谢谢,

不,没有类似的要求。

是的,你可以这样做。

然而,这被认为是不好的做法。

如果你这样做,Microsoft StyleCop会警告你,但一切都会正常编译。

不,不要求文件名匹配文件中定义的单个公共类。 实际上,没有必要在包含文件的名称和文件中定义的任何类之间建立关系。 在这个语句中隐含的是,甚至可以在同一个封闭文件中定义多个类(即使有多个类是公共的,与Java不同)。 此外,可以使用partial关键字跨多个文件定义类。

但是,最佳做法是为每个文件定义一个类,并为该文件指定与定义的类(或结构等)相同的名称。

不,在C#中,您不必将您的类命名为与您的文件相同。

沿着类似的行,您可以在文件中有多个public类。 Java只允许你拥有一个。

这对于在一个文件中定义一些公共枚举很有帮助。 几个小class。

然而,在一个文件中投入太多是不好的做法。

可以有一个包含公共类B的文件A.cs ,但它被认为是不好的做法。