C#中相当于if __name__ == "__main__": 的写法

0 投票
3 回答
1240 浏览
提问于 2025-04-16 08:35

在Python中,我可以使用 if __name__ == "__main__": 这个语句,让模块既可以当作库使用,也可以当作程序运行。

  • 我能在C#中模仿这个功能吗?

我看到C#中的一个类可以有一个 'static void Main()' 方法,但我不确定每个类是否都可以没有问题地拥有一个Main()方法。

补充说明

/m:CLASS_NAME 是指定要运行哪个类的Main()方法的一种方式。

3 个回答

1

C# 项目文件在有多个入口点时,会指定一个启动对象。

想了解更多信息,可以查看 这篇文章

6

你可以把一个C#项目编译成一个程序(可执行文件),只要里面有一个Main()方法,同时你也可以把它当作一个库来使用。没有什么特别的语法要求。

可以在每个类里都加一个Main()方法,但我觉得这样没什么用。

.NET应用程序的结构通常和Python的结构不一样;试图把两者的编程模型搞得一样,可能不会得到好的结果。

6

你可以在很多类里面放一个Main方法,不过只有一个类可以作为程序的入口点。比如在我做演讲的时候,我常常在每个类里都放一个main方法,然后用一个辅助库来在运行项目时展示这些伪入口点。

同样,你也可以添加一个.exe文件的引用,把它当成一个库来用。举个例子,你可以让一个单元测试的程序集像类库一样工作,但也可以写一个main方法,这样你就可以直接运行它来执行测试,而不需要图形界面之类的东西。

撰写回答