CSharpUser Asked:2020-12-23 01:03:34 +0000 UTC2020-12-23 01:03:34 +0000 UTC 2020-12-23 01:03:34 +0000 UTC 用户结构作为程序的入口点 772 用户结构可以作为程序的主要入口吗? 这个问题是修辞性的,因为就 IDE 向我展示的而言,这是可能的(也就是说,创建 Main 方法就足够了,一切都会顺利进行)。 但是另一个问题由此而来——它充满了什么,它被认为是不礼貌的!? c# 1 个回答 Voted Best Answer rdorn 2020-12-24T09:36:41Z2020-12-24T09:36:41Z C# 程序的入口点是Main方法。此方法必须是静态的。类或结构的静态成员是自包含的单元,不需要调用实例,实际上,使用声明它们的类或结构的名称只是为了扩展自己的名称并确保其唯一性. 静态成员不是继承的,不能是抽象的或虚拟的,你甚至可以只使用静态类及其成员来编写完全过程化的风格。 结构体本质上是一个类,但能力有限,在语言层面禁止使用一些面向对象的原则(禁止继承其他类或结构体,但允许实现接口,其余为后果)。好吧,是的,结构与 ValueType 相关,它施加了更多限制,但同时提供了类无法获得的机会。但是,就静态元素而言,结构与类并无区别,只是结构本身不能是静态的。 因此,从 CLR 的角度来看,Main 方法将绑定到什么没有区别,并且这样的替换不会产生任何后果。另一个问题。将来您将如何使用此类或结构,但这确实是另一个问题。
C# 程序的入口点是Main方法。此方法必须是静态的。类或结构的静态成员是自包含的单元,不需要调用实例,实际上,使用声明它们的类或结构的名称只是为了扩展自己的名称并确保其唯一性. 静态成员不是继承的,不能是抽象的或虚拟的,你甚至可以只使用静态类及其成员来编写完全过程化的风格。
结构体本质上是一个类,但能力有限,在语言层面禁止使用一些面向对象的原则(禁止继承其他类或结构体,但允许实现接口,其余为后果)。好吧,是的,结构与 ValueType 相关,它施加了更多限制,但同时提供了类无法获得的机会。但是,就静态元素而言,结构与类并无区别,只是结构本身不能是静态的。
因此,从 CLR 的角度来看,Main 方法将绑定到什么没有区别,并且这样的替换不会产生任何后果。另一个问题。将来您将如何使用此类或结构,但这确实是另一个问题。