C#基础——const常量&readonly常量

本文介绍了C#中const和readonly两种常量的概念和使用。const常量在编译时即被解析,值必须在声明时初始化,而readonly常量可以在构造函数中赋值,其值在运行时确定。两者都不可在程序运行时改变,但用法上有一定差异。
摘要由CSDN通过智能技术生成

常量

常量就是程序运行过程当中,值不能改变的量,不让我们现实生活中的身份证号、数学运算中的\pi值等,这些都是不会变的,所以它们都可以定义为常量。

常量也可以分为不同种类,比如98、620是整型常量;3.14、0.25是实数常量即浮点型的常量;m、t是字符常量。

const常量

在C#中提到常量,通常指的是const常量。const常量又称为静态常量,它在编译时就已经确定了值。const常量的值必须在声明时就要进行初始化,而且声明之后不可更改。

readonly常量

readonly是一种特殊的常量,也称为动态常量,从字面理解上来看,readonly常量可以进行动态赋值,但需要注意的是,这里的动态赋值是有条件的,它只能在构造函数中进行赋值,例如如下代码:

//author:ailin
//time:2021-10-22
//subject:C#

class Program
{
    readonly int Price;//定义一个readonly常量
    Program()//构造函数
    {
        Price=620;//在构造函数中修改readonly常量的值
    }
    static void Main(string[] argc)
    {
        Program p = new Program();//创建Program类的对象
        p.Price = 520;//试图修改readonly常量的值 会报错 错误原因:readonly常量的值只能在构造函数中修改
    }
}

区别

const常量必须在声明时进行初始化,而readonly常量则可以延迟到构造函数中再进行初始化。

const常量在编译时就被解析,即将常量的值替换成了初始化的值,而readonly常量的值需要在运行时确定。

const常量可以定义在类中或方法中,而readonly常量只能定义在类中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二琳爱吃肉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值