# C零基础入门篇(9. `const` 与 `readonly` 的区别)

## 一、概述

在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` 的特点<

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值