1. C# 提供了避免在字符串常量中使用转义序列(如代表制表符的“/t”或代表反斜杠字符的“/”)的功能。要这样做,可以在为字符串赋值之前使用 @ 符号来声明字符串。下面的示例显示了如何使用转义字符以及如何为字符串赋值:
//Using escaped characters
string path = "FileShare//Directory//file.txt";
//Using String Literals
string escapedPath = @"//FileShare/Directory/file.txt";
2. C# 中String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25); //指定该对象的最大容量为 25。在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。
MyStringBuilder.Capacity = 25;//定义对象的最大长度
方法名 使用
StringBuilder.Append
将信息追加到当前 StringBuilder 的结尾。
StringBuilder.AppendFormat
用带格式文本替换字符串中传递的格式说明符。
StringBuilder.Insert
将字符串或对象插入到当前 StringBuilder 对象的指定索引处。
StringBuilder.Remove
从当前 StringBuilder 对象中移除指定数量的字符。
StringBuilder.Replace
替换指定索引处的指定字符。