字符串用于存储文本。一个字符串变量包含由双引号括起的字符集合
示例:
代码语言:csharp复制// 创建一个string类型的变量并赋予一个值
string greeting = "Hello";
如果需要,一个字符串变量可以包含多个单词:
示例:
代码语言:csharp复制string greeting2 = "Nice to meet you!";
字符串长度
在 C# 中,字符串实际上是一个对象,其中包含可以在字符串上执行某些操作的属性和方法。例如,可以使用 Length
属性找到字符串的长度:
示例:
代码语言:csharp复制string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Console.WriteLine("txt字符串的长度是:" txt.Length);
其他方法
有许多可用的字符串方法,例如 ToUpper()
和 ToLower()
,它们分别返回字符串转换为大写或小写的副本:
示例:
代码语言:csharp复制string txt = "Hello World";
Console.WriteLine(txt.ToUpper()); // 输出 "HELLO WORLD"
Console.WriteLine(txt.ToLower()); // 输出 "hello world"
C# 字符串连接
字符串连接
运算符可用于在字符串之间进行连接。这被称为串联:
示例:
代码语言:csharp复制string firstName = "John ";
string lastName = "Doe";
string name = firstName lastName;
Console.WriteLine(name);
请注意,我们在 "John" 之后添加了一个空格,以在打印时在 firstName
和 lastName
之间创建一个空格。
您还可以使用 string.Concat()
方法来连接两个字符串:
示例:
代码语言:csharp复制string firstName = "John ";
string lastName = "Doe";
string name = string.Concat(firstName, lastName);
Console.WriteLine(name);
添加数字和字符串
警告!
C# 使用
运算符同时进行加法和连接。
记住:数字相加,字符串连接。
如果您将两个数字相加,结果将是一个数字:
示例:
代码语言:csharp复制int x = 10;
int y = 20;
int z = x y; // z 将是 30(整数/数字)
如果您将两个字符串相加,结果将是字符串连接:
示例:
代码语言:csharp复制string x = "10";
string y = "20";
string z = x y; // z 将是 "1020"(一个字符串)
C# 字符串插值
字符串插值是字符串连接的另一种选择,它将变量的值替换到字符串中的占位符中。请注意,与连接不同,您无需担心空格:
示例:
代码语言:csharp复制string firstName = "John";
string lastName = "Doe";
string name = $"My full name is: {firstName} {lastName}";
Console.WriteLine(name);
还请注意,在使用字符串插值方法时,必须使用美元符号($)。
字符串插值是在 C# 版本 6 中引入的。
C# 访问字符串
访问字符串的字符可以通过在方括号[]内引用其索引号来实现。
示例:
代码语言:csharp复制string myString = "Hello";
Console.WriteLine(myString[0]); // 输出 "H"
注意:字符串索引从0开始:0是第一个字符,1是第二个字符,依此类推。
示例:
代码语言:csharp复制string myString = "Hello";
Console.WriteLine(myString[1]); // 输出 "e"
您还可以使用 IndexOf()
方法找到字符串中特定字符的索引位置:
示例:
代码语言:csharp复制string myString = "Hello";
Console.WriteLine(myString.IndexOf("e")); // 输出 "1"
另一个有用的方法是 Substring()
,它从字符串中提取字符,从指定的字符位置/索引开始,并返回一个新的字符串。此方法通常与 IndexOf()
一起使用以获取特定字符的位置:
示例:
代码语言:csharp复制// 全名
string name = "John Doe";
// 字母D的位置
int charPos = name.IndexOf("D");
// 获取姓氏
string lastName = name.Substring(charPos);
// 打印结果
Console.WriteLine(lastName);
C# 特殊字符
由于字符串必须在引号内编写,C#将误解此字符串并生成错误:
代码语言:csharp复制string txt = "We are the so-called "Vikings" from the north.";
避免此问题的解决方案是使用反斜杠转义字符。
反斜杠()转义字符将特殊字符转换为字符串字符:
转义字符 | 结果 | 描述 |
---|---|---|
' | ' | 单引号 |
" | " | 双引号 |
|
| 反斜杠 |
序列 " 在字符串中插入双引号:
示例:
代码语言:csharp复制string txt = "We are the so-called "Vikings" from the north.";
序列 ' 在字符串中插入单引号:
示例:
代码语言:csharp复制string txt = "It's alright.";
序列 在字符串中插入单个反斜杠:
示例:
代码语言:csharp复制string txt = "The character \ is called backslash.";
C#中的其他有用的转义字符包括:
代码 | 结果 | 尝试 |
---|---|---|
n | 换行 | |
t | 制表符 | |
b | 退格 |
最后
为了方便其他设备和平台的小伙伴观看往期文章:
看完如果觉得有帮助,欢迎 点赞、收藏、关注