26.C# 字符串基础

2024-03-02  本文已影响0人  技术老小子

摘要


在编程时字符串是比较常用的一种数据类型,例如用户名、邮箱、家庭住址、商品名称等信息都需要使用字符串类型来存取。

字符串是值为文本的 String 类型对象。 文本在内部存储为 Char 对象的依序只读集合。

正文


string 与System.String

在 C# 中,string 关键字是 String 的别名。 因此,并且string是等效的String,无论建议使用提供的别名string,即使没有using System;String 类提供了安全创建、操作和比较字符串的多种方法。

声明

//声明一个字符串
string message1;

//初使化为null
string message2 = null;

//初使化为一个空字符串
//这个一般就用""替代了
string message3 = System.String.Empty;

//初使化一个路径字符串
string oldPath = "c:\\Program Files\\Microsoft Visual Studio 2022";

//用String类来申明一个字符串
System.String greeting = "Hello World!";

//一行初使化几个变量
string l1 = "C#", l2 = "Java", l3 = "Python";

//通过char数组声明字符串
char[] ary = { '张', '三' };
string a = new string(ary);

空字符串与null的区别

string msg1 = "";
string msg2 = null;//空对像
Console.WriteLine(msg1.ToString());
Console.WriteLine(msg2.ToString());//出错

字符串的不可变性

符串对象是不 可变的:创建字符串对象后无法更改它们。 看起来是在修改字符串的所有 String 方法和 C# 运算符实际上都是在新的字符串对象中返回结果。 在下面的示例中,当 s1s2 的内容被串联在一起以形成单个字符串时,两个原始字符串没有被修改。 += 运算符创建一个新的字符串,其中包含组合的内容。 这个新对象被分配给变量 s1,而分配给 s1 的原始对象被释放,以供垃圾回收,因为没有任何其他变量包含对它的引用。

string s1 = "A string is more ";
string s2 = "than the sum of its chars.";
s1 += s2;

System.Console.WriteLine(s1);

转义符应用到数组中

string columns = "Column 1\tColumn 2\tColumn 3";
Console.WriteLine(columns);
string rows = "Row 1\r\nRow 2\r\nRow 3";
Console.WriteLine(rows);

段落字符串

string text = @"虽然一年一度的WWDC主要是一个软件发布会,
但也总是时不时地给出一些硬件惊喜,今年也不例外。在WWDC22上,苹果公布了用于Mac(和iPad)
平台的第二代苹果系统芯片——M2。
这个时间点有些引人关注,尤其它是在M1芯片的王者之M1 Ultra发售后还不到三个月的时间,
就带来了第二代芯片,可谓没有浪费任何的时间。...";
Console.WriteLine(text);

//输出双引号
string msg = @"张三有个别名叫 ""小张""";
string msg = "张三有个别名叫 \"小张\"";
Console.WriteLine(msg);

字符串转义序列

转义序列 字符名称 Unicode 编码
' 单引号 0x0027
" 双引号 0x0022
\ 反斜杠 0x005C
\0 null 0x0000
\a 警报 0x0007
\b Backspace 0x0008
\f 换页 0x000C
\n 换行 0x000A
\r 回车 0x000D
\t 水平制表符 0x0009
\v 垂直制表符 0x000B
\u Unicode 转义序列 (UTF-16) \uHHHH(范围:0000 - FFFF;示例:\u00E7 =“ç”)
\U Unicode 转义序列 (UTF-32) \U00HHHHHH(范围:000000 - 10FFFF;示例:\U0001F47D = "👽")
\x 除长度可变外,Unicode 转义序列与“\u”类似 \xH[H][H][H](范围:0 - FFFF;示例:\x00E7\x0E7\xE7 =“ç”)
上一篇下一篇

猜你喜欢

热点阅读