
一、ToCharArray() 字符串转字符数组必考1. 作用将整个字符串整体转换为 char[] 字符数组每一个字符单独作为数组元素。2. 代码模板string s 测试内容; char[] cs s.ToCharArray(); // 字符串转字符数组二、foreach 遍历专用遍历数组/集合1. 语法格式必背foreach (var item in 数组/集合) { // item 代表当前每一个元素 }2. 关键字解析var自动识别变量类型任意类型都可以接收item自定义变量代表当前遍历到的每一个元素等价于 cs[i]in固定关键字代表从集合中取出元素集合/数组需要遍历的目标3. 完整遍历代码char[] cs s.ToCharArray(); foreach (var item in cs) { Console.WriteLine(item ------); }4. foreach特点无需下标、代码简洁只能读取不能修改集合元素适合纯遍历输出三、string 与 StringBuilder 核心区别超级必考1. string 特点string 是引用类型字符串不可变一旦创建无法修改原字符串底层基于char[] 字符数组实现每次拼接、修改、替换都会生成新字符串丢弃旧数据频繁拼接性能极差2. StringBuilder 特点可变字符串支持增、删、改、清空直接操作原内存不产生新对象容量满了会自动扩容大量拼接、频繁修改必须用 StringBuilder四、性能对比原理考试简答题1. string 拼接缺点循环多次拼接 string每次 都会开辟新内存、销毁旧内存产生大量垃圾数据速度极慢。2. StringBuilder 优点自带缓冲区直接在原内存修改自动扩容几乎无性能损耗。3. 测速工具 Stopwatch专门用于检测代码执行耗时Start()开始计时Stop()停止计时Elapsed获取时分秒毫秒耗时五、StringBuilder 五大核心方法必背StringBuilder sb new StringBuilder();1. Append() / AppendLine() 追加内容Append()直接追加不换行AppendLine()追加内容并自动换行2. Insert() 插入内容sb.Insert(下标, 内容); // 在指定下标位置插入数据3. Remove() 移除内容sb.Remove(起始下标, 移除个数);4. Clear() 清空sb.Clear(); // 清空所有内容5. Replace() 替换sb.Replace(旧内容, 新内容); // 批量替换匹配内容六、Length 和 Capacity 区别高频坑点Length实际字符个数真实长度Capacity容器总容量最大可容纳字符数默认16自动扩容示例空sb默认 Capacity16Length0七、终极必背总结默写版string 不可变修改产生新对象适合少量文本StringBuilder 可变直接修改原内存适合大量拼接ToCharArray() 字符串转字符数组foreach 只读遍历简化数组遍历Length是实际长度Capacity是容器容量StringBuilder核心方法增、插、删、清、换