韩锦东 发表于 2024-6-6 11:01:20

C#.Net筑基-String字符串超全总结 [深度好文]


字符串是日常编码中最常用的引用类型了,可能没有之一,加上字符串的不可变性、驻留性,很容易产生性能问题,因此必须全面了解一下。
01、字符与字符编码

1.1、字符Char

字符 char 表示为 Unicode字符,在C#中用 UTF-16 编码表示,占用2个字节(16位)大小,字面量用单引号''包裹。
char c = 'A';
Console.WriteLine(char.IsDigit('3'));
Console.WriteLine(char.IsNumber('1'));
Console.WriteLine(char.IsLetter('A'));
Console.WriteLine(char.IsLower('a'));
Console.WriteLine(char.IsUpper('A'));
Console.WriteLine(char.GetUnicodeCategory('A')); //获取字符分类

[*]char 是值类型(结构体),以16位整数形式存储,char可隐式转换为int。
[*]字符串可以看做是char序列(数组),字符串是引用类型。

string str = "Hello World";
Console.WriteLine(str);//H
Console.WriteLine(str); //d
Console.WriteLine(str.GetType().Name); //Char1.2、字符集Unicode与字符编码

一般情况下字符串长度string.Length 就是可见的文本字符数量,但这并不绝对相等。大多数字符都是一个char组成,然而有些字符无法用一个char表示,如表情、不常用字符等,他们会用两个char(4个字节)来表示。
"a".Length.Dump();    //1"
来源:https://www.cnblogs.com/anding/p/18221262
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: C#.Net筑基-String字符串超全总结 [深度好文]