C#Console是如何工作的?

Lag*_*ing 4 c# oop

这是一个非常基本的问题,

但是,例如,怎么做

Console.Write("test");
Run Code Online (Sandbox Code Playgroud)

工作?

控制台是一个类,而不是一个对象.

我使用控制台作为一个例子,因为它是常用的,但我见过许多使用Class.method()而不是object.method()的例子.

Mar*_*zek 7

该方法称为静态方法:静态类和静态类成员(C#编程指南).

您不需要实例来调用静态类成员:

非静态类可以包含静态方法,字段,属性或事件.即使没有创建类的实例,静态成员也可以在类上调用.静态成员始终由类名访问,而不是实例名.无论创建了多少个类实例,都只存在一个静态成员的副本.静态方法和属性无法访问其包含类型中的非静态字段和事件,并且除非在方法参数中显式传递,否则它们无法访问任何对象的实例变量.