美文网首页
26.C# 字符串基础

26.C# 字符串基础

作者: 技术老小子 | 来源:发表于2024-03-02 06:26 被阅读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 =“ç”)

    相关文章

      网友评论

          本文标题:26.C# 字符串基础

          本文链接:https://www.haomeiwen.com/subject/oeiqzdtx.html