天空闲话 发表于 2024-6-6 10:54:00

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

https://img2024.cnblogs.com/blog/151257/202405/151257-20240529222717613-1706548302.png
字符串是一样平常编码中最常用的引用范例了,可能没有之一,加上字符串的不可变性、驻留性,很容易产生性能问题,因此必须全面了解一下。
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序列(数组),字符串是引用范例。
https://img2024.cnblogs.com/blog/151257/202405/151257-20240529222718157-879102695.png
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"
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: C#.Net筑基-String字符串超全总结 [深度好文]