8.1 String 类基础
创建字符串
1 | // 字面量 |
字符串不可变性
1 | string text = "Hello"; |
8.2 常用方法
大小写转换
1 | string text = "Hello World"; |
查找与判断
1 | string text = "Hello World"; |
提取子串
1 | string text = "Hello World"; |
8.3 分割与连接
Split 分割
1 | string csv = "apple,banana,orange"; |
Join 连接
1 | string[] fruits = { "apple", "banana", "orange" }; |
8.4 字符串格式化
字符串插值(推荐)
1 | string name = "Alice"; |
string.Format
1 | string name = "Bob"; |
8.5 StringBuilder
为什么需要 StringBuilder
1 | // 不推荐:字符串拼接产生大量临时对象 |
常用方法
1 | var sb = new StringBuilder(); |
初始化容量
1 | // 预分配容量提高性能 |
8.6 字符串比较
比较方法
1 | string s1 = "Hello"; |
排序比较
1 | string[] words = { "banana", "Apple", "cherry" }; |
8.7 字符串操作技巧
去除空白
1 | string text = " Hello World "; |
填充对齐
1 | string num = "42"; |
重复字符串
1 | // .NET 6+ |
8.8 逐字字符串
1 | // 文件路径 |
8.9 本章小结
- 字符串是不可变的,修改会创建新字符串
- 常用方法:
ToUpper、Contains、Substring、Replace Split分割,Join连接- 字符串插值
$"{var}"是最推荐的格式化方式 - 大量拼接使用
StringBuilder - 比较使用
StringComparison指定规则 - 逐字字符串
@""不转义
练习题
- 输入邮箱地址,验证是否包含 “@” 和 “.”
- 将句子中每个单词首字母大写
- 统计字符串中元音字母数量
- 以下代码输出什么?
1
2
3string s = "Hello";
s.ToUpper();
Console.WriteLine(s);