首页 > 编程笔记

C#静态成员的用法

很多时候,不同的类之间需要对同一个变量进行操作。例如一个水池,同时打开进水口和出水口,进水和出水这两个动作会同时影响到池中的水量,此时池中的水量就可以认为是一个共享的变量,如下图所示。


图 1 同一水池中的进水口和出水口

在 C# 程序中,共享的变量或者方法用 static 修饰,它们被称作静态变量和静态方法,也被称为类的静态成员。静态成员是属于类所有的,在调用时不用创建类的对象,可以直接使用类名调用。

例如,创建一个控制台应用程序,在 Program 类中定义一个静态方法 Add,实现两个整数相加,然后在 Main 方法中直接使用类名调用静态方法,代码如下:
class Program
{
    public static int Add(int x, int y)//定义静态方法实现整数相加
    {
        return x + y;
    }
    static void Main(string[] args)
    {
        //类名调用静态方法
        Console.WriteLine("{0}+{1}={2}", 23, 34, Program.Add(23, 34));
        Console.ReadLine();
    }
}
运行结果如下:

23+34=57

注意,如果在声明类时使用了 static 关键字,则该类就是一个静态类。静态类中定义的成员必须是静态的,不能定义实例变量、实例方法或者实例构造函数。

例如,下面的代码是错误的:
static class Test
{
    public Test()
    {
    }
}
另外,static 关键字也不能修饰常量。例如,下面的代码是错误的:
public static const int speed = 10;//飞机的移动速度

推荐阅读

副业交流群 关注微信公众号,加入副业交流群,学习变现经验,交流各种打法。