String和string的区别

前两天有个朋友问我一个问题:“C#是区分大小的,那么大写的String和小写的string有什么区别?”,我当时只是简单的说了句:“大写的String代表的是类,string代表的则是变量类型”,可是回去自己想了想还是不对,网上查了查资料,在此和大家分享一下。

从位置讲:

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

    2.如果把using System;删掉,没有大写的String了,System是.NET   Framework类库中的一个函数名.

从性质讲:

  1. 1.     string是关键字,String是类,string不能作为类、结构、枚举、字段、变量、方法、属性的名称
  2. 2.     用C#编写代码的情况下尽量使用小写的string,比较符合规范,如果在追求效率的情况下可以使用大写的String,因为最终通过编译后,小写的string会变成大写的String,可以给编译减少负荷,从而运行效率提高。
  3. 3.     string 类型表示 Unicode 字符的字符串,string 是 .NET Framework 中的 String 的别名,对字符串相等性的测试更为直观

string详解:

          string s = string.Empty:一个指向空字符串的字符串变量, s不占用存储空间.s变量可以使用,比如s.Length
string s = "";一个指向"\0"的空字符串, 占用一个字节存储空间,因为转义符\0代表字符串结束.s变量可以使用,比如s.Length
string s = null; 一个指不向任何一个存储空间的变量,s不可以使用
            

单个字符分割

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  

posted @ 2012-06-13 14:07  做个好男人  阅读(553)  评论(0编辑  收藏  举报