C# 静态类,静态构造函数,静态变量
静态类
在C#中,静态类是一种只包含静态成员的类。不能被实例化,也不能被继承。常用于定义全局函数或者全局变量。
定义方式:
static class MyStaticClass
{
// 静态成员
public static void MyStaticMethod()
{
Console.WriteLine("静态方法");
}
}
调用方式:
MyStaticClass.MyStaticMethod(); // 静态方法
静态构造函数
在C#中,静态构造函数只会被调用一次,在第一次使用该类之前调用。它们不能被直接调用,不能带有任何访问修饰符,且没有任何参数。
定义方式:
class MyClass
{
static MyClass()
{
Console.WriteLine("静态构造函数");
}
}
调用方式:
// 不需要显式调用静态构造函数,第一次使用时会自动调用
MyClass myClass = new MyClass();
静态变量
在C#中,静态变量属于类,而非对象。只存在一个实例,被所有实例所共享且初始值只会被赋值一次。
定义方式:
class MyClass
{
public static int MyStaticVariable = 0;
}
调用方式:
Console.WriteLine(MyClass.MyStaticVariable); // 输出 0
MyClass.MyStaticVariable = 10;
Console.WriteLine(MyClass.MyStaticVariable); // 输出 10
示例1:使用静态变量计算实例个数
class MyClass
{
// 静态变量,表示实例个数
public static int Count = 0;
// 实例变量
public int Id;
public MyClass()
{
Id = Count; // 分配唯一Id
Count++; // 实例个数+1
}
}
示例2:使用静态方法获取实例个数
class MyClass
{
// 静态变量,表示实例个数
private static int Count = 0;
// 静态方法,获取实例个数
public static int GetCount()
{
return Count;
}
// 实例变量
public int Id;
public MyClass()
{
Id = Count; // 分配唯一Id
Count++; // 实例个数+1
}
}
以上就是C#静态类、静态构造函数、静态变量的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析C#静态类,静态构造函数,静态变量 - Python技术站