常量和只读有什么区别

目录:

Anonim

主要区别 在常量和只读之间是一个 常量在编译时计算,而只读在运行时计算。

C# 是一种支持面向对象编程的现代通用编程语言。它是为公共语言基础设施 (CLI) 设计的。变量是赋予内存位置的名称。它可以有一个值,这个值可以在程序中使用。变量可以是各种类型。 int 变量保存整数值,而 double 变量保存双精度值等。这些变量也可以声明为常量和只读。 Constant 用于绝对常量,而 readonly 用于非绝对常量。

C#,常量,只读

什么是常数

Constant 用于绝对常量。该值是在变量声明期间设置的。

一个例子如下。

int const number = 50;

number 的值在声明时设置为 50。赋值后,不能改变变量的值。

const 只允许在表达式中使用常量。一个这样的例子如下。

int const num1 = 10;

int const num2 = 20;

int const num3 = num1 + num2;

如果有如下语句,就会出现编译时错误。

int const a =10;

int b = 5;

int const c = a+b;

这将产生编译时错误,因为 b 是非常量。

什么是只读

Readonly 在运行时进行评估。无需在声明时设置该值。该值是在构造函数中分配的。一个例子如下。

课程计划{

只读双圆周率;

程序(){

π = 3.14;

}

无效更改值(){

// pi = 3.1;

}

}

值 pi 在构造函数内部分配。 changeValue() 不能为 pi 赋值。相反,程序员可以在声明时初始化变量,如下所示。

只读双 pi = 3.14;

常量和只读之间的区别

定义

常量是指在 C# 编程中不可更改的变量,而 readonly 是 C# 中的关键字,表示对字段的赋值只能作为声明的一部分或在同一类的构造函数中发生。

评估

常量和只读之间的主要区别在于,常量是在编译时计算的,而只读是在运行时计算的。

关键词

“const”关键字用于常量,而“readonly”关键字用于只读。

赋值

常量和只读之间的进一步区别在于,在常量中,必须在声明时赋值。但是,在 readonly 中,在声明时分配值不是强制性的。可以在声明或类构造函数中分配值。

声明级别

用法

此外,虽然 const 用于绝对值,但 readonly 用于非绝对常量。这是常量和只读之间的另一个区别。

结论

constant 和 readonly 可能看起来相似,但它们有区别。常量和只读之间的区别在于常量是在编译时计算的,而只读是在运行时计算的。

参考:

1. “什么是常量? – 来自 WhatIs.com 的定义。” TheServerSide.com ,可在此处获得。

图片提供:

1. 微软的“Logo C Sharp”——(公共领域)来自Commons Wikimedia

常量和只读有什么区别