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

字符串 String 常用操作

字符串操作已掌握。下一课学习方法的定义与调用。

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

🎯本节学习目标

  • 掌握字符串拼接与比较
  • 掌握截取与查找
  • 掌握格式化输出

🚀课程导读

玩家名字、对话文本、日志信息都是字符串。本课把 String 最常用的操作一网打尽。

拼接与比较

把文字组合、比较。

  1. 【拼接】用 + :string full = "你好" + "世界"; 得 "你好世界"。
  2. 数字自动转字符串:string msg = "分数:" + 100; 得 "分数:100"。
  3. 【频繁拼接用 StringBuilder】(性能更好):using System.Text; StringBuilder sb = new StringBuilder(); sb.Append("a"); sb.Append("b");
  4. 【比较相等】:str1 == str2 返回 bool(比较内容)。
  5. 【忽略大小写比较】:str1.Equals(str2, System.StringComparison.OrdinalIgnoreCase)。
  6. 【是否包含】:str.Contains("世界") 返回 bool。
💡
循环里大量用 + 拼字符串会消耗性能,用 StringBuilder 代替(第 16 章优化讲)。

截取、替换、查找与格式化

文本加工四件套。

  1. 【长度】:str.Length。
  2. 【截取】:str.Substring(1) 从下标 1 截到末尾;str.Substring(1, 3) 从 1 开始截 3 个字符。
  3. 【替换】:str.Replace("好", "棒") 把所有“好”换成“棒”。
  4. 【查找下标】:str.IndexOf("世界") 返回首次出现位置,找不到返回 -1。
  5. 【转大写/小写】:str.ToUpper() / str.ToLower()。
  6. 【去空格】:str.Trim() 去掉首尾空格。
  7. 【拆分】:string[] parts = str.Split(','); 按逗号拆成数组。
  8. 【格式化】:string.Format("你好,{0}!你的分数是 {1}", name, score);或插值 string msg = $"你好,{name}!分数 {score}";(推荐,更直观)。
  9. 格式化用于动态生成文本、UI 显示数据等,非常常用。
插值字符串 $"...{变量}..." 比 + 拼接更清晰,推荐优先使用。

Unity 实战

处理 UI 文本。

  1. 新建脚本 StringDemo。
  2. string name = "玩家"; int score = 250;
  3. 用插值生成:string msg = $"{name} 的分数是 {score}"; Debug.Log(msg);
  4. 截取练习:string s = "HelloUnity"; Debug.Log(s.Substring(0, 5)); // Hello
  5. 替换:Debug.Log(s.Replace("Unity", "C#")); // HelloC#
  6. 拆分:string data = "1,2,3,4"; string[] arr = data.Split(','); foreach (var a in arr) Debug.Log(a);
  7. 播放观察输出。
  8. 实际应用中常把变量拼进 UI 文本:uiText.text = $"血量:{hp}";(第 167 课)
💡
字符串是不可变对象:每次 + 都会创建新字符串,所以频繁拼接用 StringBuilder。

常见错误与排查

错误:Substring 越界报错?
原因:起始位置超出长度
解决:先判断 str.Length 再截取,或用安全的 Substring(0, Math.Min(len, str.Length))。

动手练习

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

  • 用插值拼出"我是 XX,今年 XX 岁"
  • 把一个句子中的某个词替换掉
  • 把"苹果,香蕉,橘子"拆分并逐个打印

本节小结

字符串操作已掌握。下一课学习方法的定义与调用。

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

← 上一课字典 Dictionary