C#中的readonly和const关键字之间的区别

readonly关键字

readonly关键字用于定义一个变量,该变量可以在声明后或声明期间或在构造函数中分配一次。const关键字用于定义要在程序中使用的常量。以下是C#中readonly和const关键字的有效用法。

示例

using System.IO;
using System;

public class Program {
   public const int VALUE = 10;
   public readonly int value1;

   Program(int value){
      value1 = value;
   }
   public static void Main() {
      Console.WriteLine(VALUE);
      Program p1 = new Program(11);
      Console.WriteLine(p1.value1);
   }
}

输出结果

10
11

以下是readonly和const关键字之间的一些重要区别。

序号readonly关键字const关键字
1目的readonly关键字用于创建一个只读字段。const关键字用于创建常量字段。
2类型readonly是在运行时定义的常量。const用于在编译时创建一个常量。
3更改声明后可以更改只读字段的值。声明后不能更改const字段值。
4方法无法在方法内定义只读字段。const字段可以在方法中声明。
5值分配只读变量在构造函数中声明为实例变量并分配了值。const字段将在声明时分配。