C# 既然类不是对象,我们如何访问类中的静态属性?

C# 既然类不是对象,我们如何访问类中的静态属性?,c#,C#,我是C语言的新手,遇到了以下问题。既然类不是一个对象,而只是一个蓝图模板,那么如何定义类上的静态成员并使用类名访问它们呢?这对我来说没有意义。我的理解是类不是作为一个实体存在的,所以静态属性在哪里?我哪里错了?静力学就是静力学。在这个场景中,类的行为更像一个名称空间。不是类中存在静态,而是通过类访问静态。您是否阅读了上的static关键字?明确指出如何以及何时使用它。你的意思是:所有静态的东西都跳出模板,因为它是静态地绑定到类的。很简单:类确实是作为一个实体存在的。它不是语言意义上的对象并不意味

我是C语言的新手,遇到了以下问题。既然类不是一个对象,而只是一个蓝图模板,那么如何定义类上的静态成员并使用类名访问它们呢?这对我来说没有意义。我的理解是类不是作为一个实体存在的,所以静态属性在哪里?我哪里错了?

静力学就是静力学。在这个场景中,类的行为更像一个名称空间。不是类中存在静态,而是通过类访问静态。

您是否阅读了上的static关键字?明确指出如何以及何时使用它。你的意思是:所有静态的东西都跳出模板,因为它是静态地绑定到类的。很简单:类确实是作为一个实体存在的。它不是语言意义上的对象并不意味着它不能有属性,除非你对属性的概念是与对象紧密相连的。将一个类仅仅作为一个蓝图的想法在理论上是很好的,但实际上并不完全是如何实现的。如果需要,假设每个类都有一个与之关联的对象,该对象会自动实例化,并且只包含该类的静态成员。该类显然是作为实体存在的。该类上存在静态属性。静态类变量不与该类的任何单个实例相关联,但仍然存在,即使程序未创建该类的任何实例。您可以将其视为全局变量,但具有类范围,这意味着您必须访问它,用类名限定并遵循可见性规则公共、私有、ETC听起来像是一个哲学问题而不是技术问题。有些人会说类是作为实体存在的,有些人会说它不是。但这并没有改变类的静态成员的工作方式。实际上,静态变量只存在于类上,而不存在于类的实例上。@HimBromBeere:如果你的意思是只能通过类而不是类的实例访问它们,那么你是对的,但我也从未提出过不同的主张。事实上,他们并不存在于课堂上。正如OP正确地确定的那样,类不是一个实际的实体。它不存在于内存中,所以说类上存在静态是不准确的,因为类本身并不存在。