你的位置:首页 > ASP.net教程

[ASP.net教程]C# const与readonly的详细用法


         1.使用const关键字声明常量字段和常量局部变量时,常量字段和常量局部变量不是变量且不能改变。==>常量在程序中是不能改变的,而变量是可以改变的。常量可以为数字、布尔值、字符串或 null 引用。 不要创建常量来表示你需要随时更改的信息。 不允许在常数声明中使用 static 修饰符。

 

        2.readonly 关键字是可以在字段上使用的修饰符。 当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。

      readonly 关键字与 const 关键字不同。 const 字段只能在该字段的声明中初始化。 readonly 字段可以在声明或构造函数中初始化。 因此,根据所使用的构造函数,readonly 字段可能具有不同的值。 另外,const 字段为编译时常数而 readonly 字段可用于运行时常量。

public static readonly uint timeStamp = (uint)DateTime.Now.Tick;

 

调用时也不同

 

class Program  {    static void Main(string[] args)    {      Console.ForegroundColor = ConsoleColor.Green;      //直接使用const值      Console.WriteLine(sample.constValue);      //实例化对象后使用      sample2 s2 = new sample2();      Console.WriteLine(s2.readonlyValue);      Console.Read();    }    class sample    {      public const int constValue = 10;    }    class sample2    {      public readonly int readonlyValue = 20;    }  }