{
public static readonly int A = 2; //A为运行时常量
public const int B = 3; //B为编译时常量

}
public class Class2
{
public static int C = Class1.A + Class1.B; //变量C的值为A、B之和
}
Console.WriteLine(Class2.C); //输出"5"
const--------静态常量 编译时常量,编译时将对常量值进行解析,并将所有常量引用更换为相应值
static readonly---------动态常量 (运行时常量),程序运行时进行赋值,赋值完成后便无法变动,因此也有人称其为只读变量
1、readonly常量只能声明为类字段,支持实例类型或静态类型;const常量除了可以声明为类字段之外,还可以声明为方法中的局部常量
2、数据类型支持:由于const常量在编译时将被更换为字面量,使得其取值类型受到了一定限定。const常量只能被授予数字(整数、浮点数)、字符串以及列举类型。
适用场景
不才面两种情形下:
a.取值永久不变(比如圆周率、一天包含的小时数、地球的半径等)
b.对程序性能哀求非常苛刻
可以利用const常量,除此之外的其他情形都该当优先采取readonly常量。
https://www.cnblogs.com/yanglang/p/9003770.html