Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# .cs file name and class name need to be matched?

In Java the file name must be the public class name defined in that java file. Does C# has similar requirement? can I have a A.cs file which only defines a public Class B inside? thanks,

like image 589
5YrsLaterDBA Avatar asked Feb 08 '10 20:02

5YrsLaterDBA


People also ask

What C is used for?

C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...

What is the full name of C?

In the real sense it has no meaning or full form. It was developed by Dennis Ritchie and Ken Thompson at AT&T bell Lab. First, they used to call it as B language then later they made some improvement into it and renamed it as C and its superscript as C++ which was invented by Dr.

Is C language easy?

C is a general-purpose language that most programmers learn before moving on to more complex languages. From Unix and Windows to Tic Tac Toe and Photoshop, several of the most commonly used applications today have been built on C. It is easy to learn because: A simple syntax with only 32 keywords.

What is C in C language?

What is C? C is a general-purpose programming language created by Dennis Ritchie at the Bell Laboratories in 1972. It is a very popular language, despite being old. C is strongly associated with UNIX, as it was developed to write the UNIX operating system.


3 Answers

No, there is no similar requirement.

Yes, you can do this.

It is considered bad practice, however.

Microsoft StyleCop will warn you if you do this, but everything will compile fine.

like image 189
John Gietzen Avatar answered Sep 28 '22 03:09

John Gietzen


No, there is not a requirement that the filename matches a single public class being defined in the file. In fact, it is not necessary to have a relationship between the name of the containing file and any classes that are defined in the file. Implicit in this statement is that it is even possible to define more than one class in the same enclosing file (even if there are multiple classes that are public, unlike Java). Moreover, it is possible to define a class across multiple files using the partial keyword.

Best practice, however, is to define one class per file and to give the file the same name as the class (or struct, etc.) being defined.

like image 34
jason Avatar answered Sep 28 '22 02:09

jason


No, in C# you don't have to name your class the same as your file.

Along a similar line, you can have multiple public classes in on file. Java only lets you have one.

This can be helpful for defining a few public enums in one file. Of a few small classes.

It is bad practice however to throw too much into one file.

like image 23
jjnguy Avatar answered Sep 28 '22 03:09

jjnguy