Pra*_*tia 17 c# compiler-construction
using System;
class Program {
public static void Main() {
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
我将文件保存为1.java,2.obj和3.txt.然后我使用Visual Studio命令提示符来编译文件:csc 1.java csc 2.obj csc 3.txt
令人惊讶的是,它将所有3个文件编译成可执行文件并成功执行.
谁能给我一个关于这种行为的解释?
das*_*ght 19
文件扩展名与C#编译器无关:只要它正确获取程序文本,编译器就不会查看文件的名称或扩展名.C#编译器的文档没有提到命名要求*.
与Java相比,文件名和位置很重要.Java编译器只需要*.java源文件,文件名与其中的公共类名称相匹配:
源代码文件名必须具有.java后缀,类文件名必须具有.class后缀,源文件和类文件都必须具有标识该类的根名称.
*.cs仍然是C#源文件的普遍接受的命名约定.
开始C#对象:从概念到代码 - 由Jacquie Barker,Grant Palmer撰写
建议的约定是使用扩展名.cs结束源代码文件名,但不要求这样做; 例如,可以将源文件命名为Person.boo
也来自同一本书.
同样,C#源文件的名称不必与该文件中定义的类或接口的名称相匹配.例如,定义Professor类的代码可以放在名为Blah.cs的文件中,但是对于源文件名来说,与文件中声明的类或接口的名称相匹配是一种很好的做法.