ibcadmin 发表于 2015-9-19 09:07:23

C# const与readonly的详细用法

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



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

3.const为编译时常量,不能构建复杂的数据类型。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;
      }

    }


881966 发表于 2018-12-4 21:34:13

学习学习,谢谢分享
页: [1]
查看完整版本: C# const与readonly的详细用法