c#const和readonly 的区别

2024-12-02 16:45:45
推荐回答(1个)
回答1:

const 必须在定义的时候赋值而且不能更改,
而 readonly定义的时候可以在定义的时候赋值,也可以在构造函数中赋值,其它地方是不能更改值的

public class Demo
{
private readonly string str="123";
// 构造函数中赋值
public Demo(){

str="456";

}

}

const 字段是编译时常数,而 readonly 字段可用于运行时常数。
const 默认就是静态的,而 readonly 如果设置成静态的就必须显示声明。
const 对于引用类型的常数,可能的值只能是 string 和 null,readonly可以是任何类型