C# 中 const、static、readonly、static readonly 修饰符特点

.NET Core · 2024-10-10
  1. const 只能在初始化时候赋值,且值不能再次修改

    public const PI=3.14;

  2. static 值可以自由修改,初始化的时机包括:声明时赋值、使用中、构造函数中

    
    public class Demo
    {    
     public static int One = -1; // 声明时
     static Demo()
     {
         One = 2; // 静态构造函数中
     }
    
     public Demo()
     {
         One = 3; // 普通构造函数中
     }
    
     public int Sum()
     {
         return One++; // 方法中
     }
    }

  3. readonly 值可以修改(仅限于普通构造函数中),初始化的时机包括: 声明时赋值、普通构造函数中

    public class Demo
    {    
     public readonly string Name = "Libai"; // 声明时
     public Demo()
     {
         Name = "Dufu"; // 普通构造函数中
     }
    }

  1. static readonly 值可以修改(仅限于静态构造函数中),初始化的时机包括: 声明时赋值、静态构造函数中

    public class Demo
    {    
     public static readonly string Brand = "Apple"; // 声明时
     static Demo()
     {
         Brand = "Xiaomi"; // 静态构造函数中
     }
    }
c# .net
Theme Jasmine by Kent Liao