C# 字符和字符串
C#字符和字符串
C#的 char
类型别名 System.Char
类型表示 Unicode 字符。
在单引号中指定char
字面值:
char c = 'A';
上面的代码创建一个 char 类型变量c
,并赋值为A
。
转义序列
转义序列表达不能用字面表达的字符。
转义序列是反斜杠,后跟具有特殊含义的字符。
例如:
char newLine = "\n";
char backSlash = "\\";
转义序列字符如下表所示。
字符 | 含义 | 值 |
---|---|---|
\' | 单引号 | 0x0027 |
\" | 双引号 | 0x0022 |
\\ | 反斜杠 | 0x005C |
\0 | 空 | 0x0000 |
\a | 警告 | 0x0007 |
\b | 退格 | 0x0008 |
\f | 换页 | 0x000C |
\n | 换行 | 0x000A |
\r | 回车 | 0x000D |
\t | 水平制表符 | 0x0009 |
\v | 垂直制表符 | 0x000B |
\u
或 \x
转义序列可以通过其四位十六进制代码指定任何 Unicode 字符。
例如,
char copyrightSymbol = "\u00A9";
char omegaSymbol = "\u03A9";
char newLine = "\u000A";
字符转换
从char
到数字类型的隐式转换适用于可以容纳无符号短整型的数字类型。
对于其他数字类型,需要显式转换。
字符串类型
C#的字符串类型别名System.String
类型表示 Unicode 字符的不可变序列。
字符串字面值在双引号内指定:
string a = "www.w3cschool.cn";
string
是一个引用类型,而不是值类型。
然而,它的等式运算符遵循值类型语义:
string a = "test";
string b = "test";
Console.Write (a == b); // True
对 char
字符有效的转义序列也在字符串中工作:
string a = "Here"s a tab:\t";
逐字符串字面值
C#允许逐字字符串字面值。
逐字符串字符串以 @
开头,不支持转义序列。
string a2 = @ "\\root\files\Main.cs";
逐字字符串字面值也可以跨多行:
string escaped = "First Line\r\nSecond Line";
string verbatim = @"First Line
Second Line";
您可以通过将双引号字符写入两次,将其包含在逐字字面值中:
string xml = @"<emp id=""123""></emp>";
字符串连接
+
运算符连接两个字符串:
string s = "a" + "b";
对该值调用非字符串值的ToString
方法。例如:
string s = "a" + 1; // a1
更多建议: