C#中string和String的区别
从位置上讲:
- 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