C#中string和String的区别

时间:2022-04-12 00:37:53

1、大写String是.NET Framework里的String,小写string是C#语言中的string

2、如果删掉using System;,就不能使用大写的String,System是.NET Framework类库中的一个函数名

从性质上讲:

1、string是关键字,String是类,string不能作为类、结构、枚举、字段、变量、方法、属性的名称

2、用C#编写代码尽量使用小写string,,比较符合规范。如果在追求效率的情况下可以使用大写的String,因为最终通过编译后,小写的string会变成大写的String,可以给编译减少负荷,从而提高运行效率

3、string类型表示Unicode字符的字符串,string是.NET Framework中String的别名,对字符串相等性的测试更为直观

string详解:

string s1 = string.Empty; Console.WriteLine(s1.Length); // 输出值为0

string s1 = string.Empty;一个指向空字符串的字符串变量,s1不占用存储空间,s1变量可以使用

string s2 = string.Empty; Console.WriteLine(s2.Length); // 输出值为0

string s2 = "";一个指向"\0"的空字符串,s2占用一个字节存储空间,因为转义符\0代表字符串结束,s2变量可以使用

string s3 = null; Console.WriteLine(s3.Length); // 引发了类型“System.NullReferenceException”的异常(也就是空引用)

string s3 = "";一个不指向任何存储空间的变量,s3变量不可以使用

单个字符分割:

string s = "abcdeabcdeabcde"; string[] sArray = s.Split(c); foreach(string i in sArray){ Console.WriteLine(i.ToString()); } //输出下面的结果: ab deab deab de

多个字符分割:

string s = "abcdeabcdeabcde"; string[] sArray1 = s.Split(new char[3]{c,d,e}); foreach(string i in sArray1){ Console.WriteLine(i.ToString()); } //输出下面的结果: ab ab ab

多个字符分割(正则表达式):

string content = "agcsmallmacsmallgggsmallytx"; string[] resultString = Regex.Split(content, "small", RegexOptions.IgnoreCase); foreach(string i in resultString){ Console.WriteLine(i.ToString()); } //输出下面的结果: agc mac ggg ytx