静态类的作用是什么静态类有什么用?我的意思是使用静态类有什么好处,CLR如何处理静态类?静态类仅意味着您不期望或不需要实例。这对于实用程序逻辑很有用,其中代码不是特定于对象的。例如,扩展方法只能写在静态类中。在C#2.0之前,您可以拥有一个带有私有构造函数的常规类;但是static使它永远不会有实例(没有构造函数*,并且所有成员都必须是静态的)。(*=参见注释链;您可以选择使用类型初始值设定项(静态构造函数,也称为.cctor),但不能使用实例构造函数(也称为.ctor))。.NET的编译和元数据模型要求所有函数都在类中定义。这使得使用反射API的生活变得更加轻松和简单,因为拥有类及其可见性的概念得到了很好的定义。它还使il模型更简单。因为这不包括自由函数(与类无关的函数),所以可以选择将没有关联状态(因此需要实例)的函数放在哪里。如果它们不需要与它们关联的状态,并且没有任何显式的基于实例的类与之关联并因此在其中定义,那么它们的定义需要有一些惯用语。过去最好在具有私有构造函数的类中定义方法,并且类中没有函数来构造它。这有点混乱(因为它没有说清楚为什么没有注释就完成了)并且反射API仍然可以找到构造函数并调用它。因此,允许静态类使类的意图、静态方法的定义对用户和类型系统都清楚。静态类根本没有构造函数。静态类是一种用于在C#中编写过程程序的语言hack。一个静态类的所有成员都必须是静态成员,所以如果你忘记在其中任何一个之前加上“static”,你的代码将无法通过编译,它也会让你的代码更具可读性,因为任何人都会看到类是静态的就明白了它只包含静态成员。静态类的最佳用途是实用函数,您还可以使用它们来保存应用程序中的全局方法和数据。我几乎在任何项目中都大量使用静态类。静态类通常用于对您最初不想使用对象实例访问的相关全局服务进行分组。一个例子是.NetBCL中的Math类,你可以直接使用,例如Math.Sqrt(10.0)静态类是密封的。对于实用程序类,这可能是一个有用的选项。我从这些陈述中得到了明确的想法。了解有关静态类的更多信息。首先,我们首先要区分静态数据和实例数据。每次创建类的新实例时,您都会获得实例数据的新副本以供使用。此类的实例方法适用于实例数据。实例数据与所有其他类中的实例数据完全分开,甚至是同一类的实例。如果在一个实例中更改了一个值,则它不会影响其他实例中的相同值。大多数程序数据是实例数据。静态数据相当于全局数据。程序中的每个人都看到相同的数据。如果有人更改数据,其他人也会看到更改。静态数据对于跨程序共享信息很有用,例如数据库连接字符串或日志文件。通常,内存中只有一份静态数据副本。(例如处理多个应用程序域时的异常)。当您创建一个类的实例时,您实际上是在分配一些内存来保存您自己的由该类定义的实例数据的副本。如果你创建了一个类的5个实例,那么你将获得5个独立的内存位置,每个位置都有自己的实例数据副本。每个内存块都独立于其他内存块。如果一个类没有实例数据,那么创建它的实例就没有意义。这样做无害,但也是浪费时间。这就是静态类的用武之地。静态类是一种将类标识为没有实例数据的方法。通过将类标记为静态,您可以告诉编译器该类中的所有数据都是全面共享的。所以编译器强制执行一些规则来使事情变得清晰。静态类只能包含静态成员。无法实例化静态类。静态类必须是密封的。编译器强制执行此操作是为了方便开发人员。静态类是密封的。这是因为静态类不能包含每个实例的数据。静态方法是在类型级别定义的,而不是在实例级别。这就是为什么覆盖对静态方法/属性/事件不起作用的原因......静态构造函数被调用一次,静态类在程序所在的应用程序域的生命周期内保留在内存中。参考:http://msdn.microsoft.com/en-us/library/79b3xss3(VS.80).aspx1.首先不能为静态类创建实例如果类被声明为static,成员variableisforthatClassesshouldbestatic3.Sealed[Cannotinherit]4.Cannotcontaininstanceconstructors5.memorymanagementExample:Mathematicalcalculations(mathematicalvalues)donotchange[标准值的标准计算]在一个类中我们放一个函数仅当函数不与任何对象关联时才声明为静态。我们不应该在该静态函数中使用“this”运算符,因为“this”运算符将引用调用该函数的对象。例如:考虑一个名为Employee的类,其中有一些变量,如Name、Age、Department,在这个Employee类中,我将添加一个名为getSimilarNames()的函数,该函数将显示有多少员工具有相同的名称employees。此功能不需要与任何员工相关联。所以我将这个函数声明为静态的。如果是一个只包含静态函数的类,我们将该类声明为静态类。静态函数可以提高性能。以上就是C#学习教程:静态类的作用是什么。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
