首页/ 第 5 章 · C# 编程基础/ 第 49 课
LESSON 49 · C# 编程基础

常量与类型转换

常量与类型转换已掌握。下一课学习运算符,让数据“动起来”。

⏱ 约 13 分钟📊 难度:入门🗂 第 5 章 · C# 编程基础📍 第 49 / 300 课
课程进度
49 / 300

🎯本节学习目标

  • 掌握常量 const
  • 学会隐式与显式转换
  • 掌握常用转换方法

🚀课程导读

有些值不该变(圆周率、重力),用常量;不同数据类型之间要“翻译”过去,用转换。本课两个主题。

常量 const

值不允许修改的“变量”。

  1. 语法:const 数据类型 常量名 = 值;
  2. 常量名规范:全大写 + 下划线,如 MAX_HP。
  3. 例:const float GRAVITY = 9.8f; const int MAX_HP = 100;
  4. 常量一旦赋值不可更改,修改会报错。
  5. 适合:游戏固定参数、魔法数字(把 100 换成 MAX_HP 更易读)。
  6. 在类里声明 const 常量,全类可用。
  7. 好处:改一处,所有用到的地方都变,避免“魔法数字”。
💡
用常量代替直接写死数字,是代码规范的第一步。

类型转换

在数据类型之间“翻译”。

  1. 【隐式转换】小类型 → 大类型自动进行:int → float 直接赋值即可(float f = 10; 合法)。
  2. 【显式转换】大类型 → 小类型需要“强制转换”:(int)3.9f 得 3(截断小数)。
  3. 【字符串转数字】:int.Parse("123") 得到 123;float.Parse("3.5") 得 3.5f。
  4. 【数字转字符串】:数值 + 字符串自动拼接:"分数:" + 100 得 "分数:100";或使用 ToString() 方法。
  5. 【实战】:从 UI 输入框读到的都是字符串,要转成数字才能做加减运算(第 152 课用到)。
  6. 【TryParse 安全转换】:int.TryParse("abc", out int result) 转换失败返回 false 而不抛异常,推荐用于用户输入。
  7. 注意转换不当会报错或丢精度,先判断再转。
⚠️
int.Parse 遇到无法解析的内容会抛异常使游戏崩溃;用户输入一律用 TryParse 更安全。

在 Unity 中实战

动手验证。

  1. 新建脚本 ConvertDemo,在 Start 里写:
  2. const int MAX_HP = 100; Debug.Log(MAX_HP);
  3. float f = 10; Debug.Log(f); // 隐式转换 int→float
  4. int i = (int)3.9f; Debug.Log(i); // 显式:得 3
  5. int n = int.Parse("42"); Debug.Log(n + 1); // 得 43
  6. string s = "分数:" + n; Debug.Log(s);
  7. bool ok = int.TryParse("abc", out int r); Debug.Log(ok); // False
  8. 播放查看各输出,理解每种转换。
转换是游戏开发高频操作,多练几次自然熟练。

常见错误与排查

错误:报错:Input string was not in a correct format?
原因:int.Parse 遇到了非数字字符
解决:改用 int.TryParse 并先判断返回值,或确认字符串确实是数字。

动手练习

课后小任务(做出来才算真的学会)

  • 声明一个常量并尝试修改(观察报错)
  • 把字符串 "3.14" 转为 float 并乘以 2
  • 用 TryParse 安全解析一个非法字符串

本节小结

常量与类型转换已掌握。下一课学习运算符,让数据“动起来”。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课变量与数据类型