c#中的常量字段成员

Nis*_*mar 5 c#

大家好我很困惑我是const long size =((long)int.Maxvalue+1)/4如何插入的...当我们定义static const long size =((long)int.Maxvalue+1)/4什么是readonly会员时会发生什么......

Pra*_*ana 17

常量

常量成员在编译时定义,不能在运行时更改.常量使用const关键字声明为字段,必须在声明时初始化.例如;

public class MyClass
{
  public const double PI = 3.14159;
}
Run Code Online (Sandbox Code Playgroud)

不能将类的成员声明为"static const".

  • 因为声明为"const"的成员变量已经是"静态的".

PI无法在应用程序中的任何其他位置更改,因为这会导致编译器错误.

只读

只读成员就像一个常量,因为它代表了一个不变的价值.不同之处在于readonly成员可以在运行时,构造函数中初始化,也可以在声明它们时进行初始化.例如:

public class MyClass
{
  public readonly double PI;

  public MyClass()
  {
    PI = 3.14159;
  }
}
Run Code Online (Sandbox Code Playgroud)