C#初级语法--常量

📌 1. 常量(const)→ 像「身份证号」一样不可变

现实例子:
你的 身份证号 一旦确定,这辈子都不能修改,它就是常量

const string IDNumber = "110101199001011234";  // 常量,不可修改 
const int MaxLoginAttempts = 3;  // 最大登录尝试次数,固定为3 

✅ 特点:

  • 用 const 关键字声明
  • 必须在声明时赋值
  • 运行期间 不能修改,否则编译器报错!

⚠ 错误示例:

const int MaxAttempts = 3;
MaxAttempts = 5;  // ❌ 编译错误!常量不能被修改 

🔢 2. 整数常量 → 不带小数点的固定数字

现实例子:

  • 5(你一只手的手指数量)
  • -10(冰箱冷冻室温度)
  • 0(银行存款清零警告⚠️)

C# 代码:

const int MaxStudents = 50;  // 整数常量,班级最大人数 
const int FreezingPoint = 0;  // 水的冰点 

✅ 特点:

  • 必须是整数(如 5-30
  • 不能带小数点3.14 就不是整数常量)

🔄 3. 常量 vs 变量(关键区别)

常量 (const) 变量 (intstring 等)
能否修改 ❌ 永远不变 ✅ 可以修改
声明方式 const int x = 10; int x = 10;
适用场景 固定值(如π、配置参数) 会变化的值(如用户余额)

变量示例:

int score = 100;  // 变量 
score = 95;      // 合法,可以修改 

🌟 4. 为什么用常量?

  1. 代码可读性MaxUsers = 1000 比直接写 1000 更易懂
  2. 避免魔法数字:减少硬编码,方便修改(如调整 MaxRetryCount 只需改一处)
  3. 防止意外修改:确保关键数值(如π=3.14)不会被篡改

错误示范(魔法数字):

if (attempts > 3)  // ❌ 这个3是什么意思?不直观 
{
    Console.WriteLine("登录失败!");
}

优化(常量):

const int MaxLoginAttempts = 3;  // ✅ 清晰定义 
if (attempts > MaxLoginAttempts)
{
    Console.WriteLine("登录失败!");
}

📜 5. C# 常量进阶(readonly vs const)

const readonly
赋值时机 编译时(声明时必须赋值) 运行时(可在构造函数赋值)
适用类型 基本类型(int, string) 任何类型(如对象)
内存位置 编译时直接替换 运行时读取

readonly 示例(更灵活的常量):

public class Config 
{
    public readonly int MaxConnections;  // 运行时常量 
 
    public Config()
    {
        MaxConnections = 10;  // 构造函数里赋值 
    }
}

总结:

  • const 常量 → 永远不变的固定值(如π、配置上限)
  • 整数常量 → 就是 5-30 这类不带小数点的数字
  • 优先用常量 代替魔法数字,让代码更健壮! 🚀

🌊 浮点常量 → 带小数点的“不整”数

现实例子:

  • 3.14(π,你吃披萨时要算的面积)
  • -0.5(冬天凌晨的气温)
  • 99.9℃(发烧时的体温,差0.1度破百🔥)

C#代码示例:

const double Pi = 3.1415926;       // 双精度浮点常量 
const float Discount = 0.85f;       // 单精度浮点常量(要加f后缀)
const decimal Money = 100.50m;      // 高精度金融用(要加m后缀)

💡 为什么叫“浮点”?

因为小数点是**“浮动”的**,数字可以很大或很小:

  • 0.000001(蚂蚁的体重,千克单位)
  • 6.02e23(阿伏伽德罗常数,科学计数法表示)

科学计数法示例:

const double Avogadro = 6.02e23;    // 相当于 6.02 × 10²³ 

🆚 浮点 vs 整数常量

浮点常量(如3.14 整数常量(如5
样子 带小数点(或科学计数法) 不带小数点
用途 测量、金融、科学计算等需要精度的场景 计数、索引等整数量
C#类型 double/float/decimal int/long
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值