C#中String和string有什么区别?

一个开头大写,一个开头小写!

在C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。

习惯上,我们把字符串当作对象时(有值的对象实体),我们用string。而我们把它当类时(需要字符串类中定义的方法),我们用String,比如:
string greet = String.Format("Hello {0}!", place);

其实乱用也可以,只是这样概念上清楚一点。

另外string是C#保留字,不可用作变量名,String就不是了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-10-27
从位置讲:

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详解:

MSDN中对string的说明:string is an alias for String in the .NET Framework

呵呵string是String的别名而已,都是一家。

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

单个字符分割:

strings="abcdeabcdeabcde";

string[]sArray=s.Split('c');

foreach(string i insArray)

Console.WriteLine(i.ToString());

输出下面的结果:

ab

deab

deab

de

多个字符分割:

strings="abcdeabcdeabcde

string[]sArray1=s.Split(new char[3]{'c','d','e'});

foreach(string i insArray1)

Console.WriteLine(i.ToString());

可以输出下面的结果:

ab

ab

ab

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

stringcontent="agcsmallmacsmallgggsmallytx";

string[]resultString=Regex.Split(content,"small",RegexOptions.IgnoreCase)

foreach(string i inresultString)

Console.WriteLine(i.ToString());

输出下面的结果:agc

mac

ggg

ytx
第2个回答  2017-10-27
完全一样,没有区别;
string 和 String(首字母大写)有区别.

string 类型表示一个字符序列(零个或更多 Unicode 字符)。 string 是 .NET Framework 中 String 的别名。
尽管 string 是引用类型,但定义相等运算符( == 和 !=)是为了比较 string 对象(而不是引用)的值。 这使得对字符串相等性的测试更为直观。

String 表示文本,即一系列 Unicode 字符;命名空间: System ;程序集: mscorlib(在 mscorlib.dll 中);String 对象称为不可变的(只读),因为一旦创建了该对象,就不能修改该对象的值。 看来似乎修改了 String 对象的方法实际上是返回一个包含修改内容的新 String 对象。 如果需要修改字符串对象的实际内容,需使用 System.Text .StringBuilder 类
第3个回答  2014-03-09
string[][]是一维数组。string[,]是二维数组。
string[][]和普通的一维数组不同的是。他的每个元素本身就是又是一个数组。
而string[,]是二维数组。就是数组的每一个元素都必须是长度为2的数组。
比如有下面的数组
[
[1,2,3],
[2,4]

]
那么这个数组必定是string[][]类型而不会是string[,]类型。
因为string[][]定义时:数组的里的每个元素都是数组。(只要是数组就行)
string[,]定义是:数组的每一个元素都必须是长度为2的数组。
可见基本上可以理解都是二维数组但string[][]里的元素长度可以不相等。
string[,]必须长度一致
第4个回答  2012-04-12
String是公共语言运行时(CLR)中的实现类型,像VB,C++中的字符串类型最终都会编译成此类型,C#中字符串类型是String,而string是C#中字符串类型String的反射,可以理解为一种简化的书写方式,就像int对应于Int32一样,二者在C#中可通用
相似回答