Z
ZHANK
字符串与集合

字符串处理

字符串插值 $@ 逐字字符串、原始字符串字面量、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 或空白