C# 字符串处理教程 - 字符串操作、插值、方法详解
全面掌握C#字符串处理:详解字符串创建、连接、插值、常用方法及转义字符。包含Length、ToUpper、ToLower、Substring、IndexOf等核心方法的使用示例和最佳实践
什么是C#字符串?
字符串是C#中最常用的数据类型之一,用于存储和处理文本数据。掌握字符串操作是C#编程的基础技能,在实际开发中无处不在。
字符串基础
C#中的字符串是System.String类的实例,具有不可变性,这意味着一旦创建,字符串的内容就不能被修改。
字符串的核心特性
- 不可变性: 字符串一旦创建就不能修改,任何操作都会创建新字符串
- Unicode支持: C#字符串使用UTF-16编码,支持全球各种语言字符
- 对象特性: 字符串是对象,拥有丰富的属性和方法
- 引用类型: 字符串是引用类型,但具有值类型语义
创建字符串变量
一个 string 字符串变量包含由双引号括起的字符集合:
字符串长度
C# 中的字符串实际上是一个对象,它包含可以对字符串执行某些操作的属性和方法。例如,可以使用Length属性找到字符串的长度:
实例
string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Console.WriteLine("The length of the txt string is: " + txt.Length);
其他字符串方法
有许多字符串方法可用,例如ToUpper()和ToLower(),它们返回转换为大写或小写的字符串副本:
实例
string txt = "Hello World";
Console.WriteLine(txt.ToUpper()); // 输出 "HELLO WORLD"
Console.WriteLine(txt.ToLower()); // 输出 "hello world"
字符串串联
可以在字符串之间使用+运算符来组合它们。这称为串联:
实例
string firstName = "John ";
string lastName = "Doe";
string name = firstName + lastName;
Console.WriteLine(name);
请注意,我们在"John"之后添加了一个空格,以便在打印时在firstName和lastName之间创建一个空格。
您也可以使用 string.Concat() 连接两个字符串的方法:
实例
string firstName = "John ";
string lastName = "Doe";
string name = string.Concat(firstName, lastName);
Console.WriteLine(name);
字符串插值
字符串连接的另一个选项是字符串插值,它将变量的值替换为字符串中的占位符。请注意,您不必担心空格,例如串联:
实例
string firstName = "John";
string lastName = "Doe";
string name = $"My full name is: {firstName} {lastName}";
Console.WriteLine(name);
还要注意,在使用字符串插值方法时,必须使用$符号
字符串插值是在C# version 6中引入的。
访问字符串
您可以通过引用方括号[]中的索引号来访问字符串中的字符。
此示例打印myString中的第一个字符:
注释: 字符串索引以0开头:[0]是第一个字符,[1] 是第二个字符等。
本实例打印 myString 中的第二个字符(1):
你还可以使用 IndexOf() 方法查找字符串中特定字符的索引位置:
另一个有用的方法是Substring(),它从字符串中提取字符,从指定的字符位置/索引开始,然后返回一个新字符串。
此方法通常与IndexOf()一起使用,以获取特定的字符位置:
实例
// 全名
string name = "John Doe";
// 字母 D 的位置
int charPos = name.IndexOf("D");
// 获取 lastName
string lastName = name.Substring(charPos);
// 打印结果
Console.WriteLine(lastName);
特殊字符
特殊字符必须写在引号内,否则C#会误解此字符串,并生成错误:
string txt = "We are the so-called "Vikings" from the north.";
避免此问题的解决方案是使用反斜杠转义字符。
反斜杠(\)转义字符将特殊字符转换为字符串:
| 转义符 | 结果 | 描述 |
|---|---|---|
| \' | ' | 单引号 |
| \" | " | 双引号 |
| \\ | \ | 反斜杠 |
转义符 \" 在字符串中插入双引号:
转义符 \' 在字符串中插入一个反斜杠:
\\ 在字符串中插入一个反斜杠:
C# 中其他有用的转义符有:
| 代码 | 结果 | 试一试 |
|---|---|---|
| \n | New Line | 试一试 » |
| \t | Tab | 试一试 » |
| \b | Backspace | 试一试 » |
添加数字和字符串
警告!
C# 使用 + 运算符进行加法和串联。
记住: 数字相加,字符串联。
如果将两个数字相加,结果将是一个数字:
如果将两个字符串相加,结果将是字符串串联:

