黑马程序员技术交流社区

标题: string和String有区别吗? [打印本页]

作者: 李阳Leo    时间: 2012-9-22 20:02
标题: string和String有区别吗?
本帖最后由 李阳_TickTock 于 2012-9-22 20:11 编辑

string和String有区别吗?如果有,请举例说明
作者: 董蒙蒙    时间: 2012-9-22 20:08
String,跟Int32 ,Boolean 都属于.NET 中定义的类,而string,int,bool 相当于C#中对这些类定义的别名。
作者: 侍小波    时间: 2012-9-24 10:38
从位置讲
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 的别名,对字符串相等性的测试更为直观

作者: 李后量    时间: 2012-9-25 12:49
哦,原来区别有这么些个啊
作者: 霍春雨    时间: 2012-9-25 15:34
在C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。


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


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


另外string是C#保留字,不可用作变量名,String就不是了。
如果深入详解,String是.net framework平台中通用类型(CTS)的数据类型,而
string是开发环境vs从String类型映射过来的数据类型,无论是他们之中的他一个,在编译后转换成的中间语言(IL)都将是一样的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2