## 一、概述
在C#中,`const`和`readonly`都可以用来定义只读的字段,但它们在使用场景、语义和运行时行为上有显著的区别。理解它们的区别对于编写清晰、高效的代码至关重要。
## 二、`const` 的特点
### 1. **定义**
`const`用于定义编译时常量,其值在编译时必须确定,并且在运行时不能更改。
### 2. **语法**
```
public const int MyConst = 10;
```
### 3. **使用场景**
- **编译时常量**:`const`字段的值必须在编译时已知,通常用于定义固定不变的值,如数学常量、状态码等。
- **类级别常量**:`const`字段必须是静态的(即使不显式声明`static`,它也会被视为静态字段)。
- **数据类型**:可以是数值类型、字符串、布尔类型等编译时可确定的类型。
### 4. **示例**
```
public class MyClass
{
public const int MaxValue = 100;
public const string Version = "1.0";
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine(MyClass.MaxValue); // 输出:100
Console.WriteLine(MyClass.Version); // 输出:1.0
}
}
```
## 三、`readonly` 的特点<

最低0.47元/天 解锁文章
1128

被折叠的 条评论
为什么被折叠?



