C#之常量使用

常量是在编译时已知并在程序的生存期内不发生更改的不可变值。在C#中声明常量需要通过const关键字,只有C#内置类型(System.Object除外)可以声明为const。使用常量时,常量必须在声明时初始化;而且可以同时声明多个相同类型的常量;如果不会造成循环引用,用于初始化一个常量的表达式可以引用另一个常量。为了区分

常量和字段,一般情况下,将常量的名称定义为大写。

开发者在计算圆的周长和面积时,需要使用到一个固定的常量——圆周率。因此,可以将圆周率声明为常量PI,然后在计算圆的周长和面积时直接调用。步骤如下。

 public class Constants
    {
        public const double PI = 3.14159;
    }

用户自定义的类型(包括类、结构和数组)不能为const,这需要使用readonly修饰符在运行初始化一次即不可变换的的类、结构和数组。const和readonly两个修饰符的区别在一下几个方面。

(1)const字段只能在该字段的声明中初始化。readonly字段可以在声明或构造函数中初始化,因此,根据所用的构造函数,readonly字段可具有不同的值;

(2)const字段是编译时常数,而readonly字段可用于运行时常数;

(3)const默认是静态的,不需要使用static声明常量,而readonly如果设置成静态的就必须显示声明;

(4)const对于引用类型的常数,可能的值只能是string和null,readonly可以是任何类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值