建议6 区别readonly和const的使用方法

本文详细介绍了C#编程语言中const与readonly关键字的区别。const用于声明编译时常量,仅能修饰基本类型,而readonly则可用于修饰任何类型的变量,并在运行时初始化。此外,const变量在编译后直接替换为实际值,提高了效率;readonly则允许在运行时为每个实例指定不同的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

区别
const是一个编译期常量,readonly是一个运行时常量。
const只能修饰基元类型,枚举类型和字符串类型,readonly没有限制。

const变量的效率高,是因为经过编译器编译后,我们在代码中引用const变量的地方都会用const变量所对应的实际值来代替
const int ConstValue=100;// const 默认是静态的
Console.WriteLine(ConstValue); //IL代码是Console.WriteLine(100);



readonly赋值行为发生在运行时,它在运行时第一次被赋值后将不可以改变。
readonly另一个灵活之处在于可以为每个实例指定不同的值:
Sample s1=new Sample(100);
Sample s2=new Sample(200);
Sample s3=new Sample(300);

public class Sample
{
public readonly int ReadOnlyValue;
public Sample(int value)
{
ReadOnlyValue=value;
}
}


总结
readonly 操作灵活。
const 效率高
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值