字符串处理
字符串插值 $@ 逐字字符串、原始字符串字面量、StringBuilder
字符串处理
C# 字符串特色鲜明:$ 插值、@ 逐字、""" 原始字符串三连——配合 LINQ 和 StringBuilder,处理文本轻松自在。
学完本章你将: 掌握 $/@/""" 字符串、StringBuilder、常用方法。
三种字符串字面量
csharp
// $ 字符串插值
var name = "小明";
var s1 = $"Hello, {name}! Today is {DateTime.Now:yyyy-MM-dd}.";
// @ 逐字字符串(不转义反斜杠,适合路径和正则)
var path = @"C:\Users\小明\Documents";
var regex = @"\d{3}-\d{4}";
// """ 原始字符串字面量(C# 11+)——支持换行和引号
var json = """
{
"name": "小明",
"age": 25
}
""";
StringBuilder —— 大量拼接时用
csharp
var sb = new StringBuilder();
for (int i = 0; i < 1000; i++)
sb.AppendLine($"Line {i}");
string result = sb.ToString();
// StringBuilder 不会像 + 那样每次创建新字符串
常用方法
csharp
string s = "Hello World";
s.Length // 11
s.ToUpper() // "HELLO WORLD"
s.ToLower() // "hello world"
s.Contains("World") // true
s.StartsWith("He") // true
s.EndsWith("ld") // true
s.IndexOf("World") // 6
s.Substring(0, 5) // "Hello"
s.Replace("World", "C#") // "Hello C#"
s.Split(' ') // ["Hello", "World"]
string.Join(", ", arr) // 数组拼接
s.Trim() // 去除首尾空白
// 判空
string.IsNullOrEmpty(s) // null 或 ""
string.IsNullOrWhiteSpace(s) // null 或空白