黑马程序员技术交流社区

标题: 我们常见的String Double和小写的string double [打印本页]

作者: 李景荣    时间: 2013-2-23 23:51
标题: 我们常见的String Double和小写的string double
本帖最后由 李景荣 于 2013-2-24 12:57 编辑

我们常见的String Double和小写的string double有什么区别?
作者: xiaoxiang_04    时间: 2013-2-24 00:04
个人理解
大小写人看着没什么区别都认识,但是程序只认知固定写法
就比如你写String a没事,写string a,string下面就有个波浪线,程序不认。。
作者: 戴鑫凯    时间: 2013-2-24 10:43
String  --  System.String     

string  -- C#关键字

都会编译出相同的IL吗,对于CLR而言这2个是没有区别的
作者: 彭思    时间: 2013-2-24 14:38
表示这个问题我也不太懂,,,求解答

作者: 岳珅    时间: 2013-2-24 14:47
本帖最后由 岳珅 于 2013-2-24 15:05 编辑

。。。你在二楼说String a没事,string a报波浪线。。。是因为你同时声明了两个变量a才报波浪线的吧- -

两种大小写平时都没事的,-都能声明变量.....他们都是class System.String类的- -都表示文本,一系列Unicode字符- -

以下内容来自MSDN:
string 类型表示一个字符序列(零个或更多 Unicode 字符)。 string 是 .NET Framework 中 String 的别名。


如果使用C#,建议使用string,比较符合规范 。
string始终代表 System.String(1.x) 或 ::System.String(2.0) ,
String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、struct、delegate、enum)的时候才代表System.String。

string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以。

作者: 刘明杰    时间: 2013-2-24 14:58
String是类,string是关键字 定义两个类型的变量,系统在生成的时候都会把大写的String变成小写的string,所以看着不一样,其实内部实现功能是一样的
作者: 王立    时间: 2013-2-24 15:03
编译的时候一样的都是
  string a="aa";
            String b="b";
            Console.WriteLine(a);
            Console.WriteLine(b);

用reflector查看

作者: xiaoxiang_04    时间: 2013-2-24 17:50
本帖最后由 xiaoxiang_04 于 2013-2-24 17:52 编辑
xiaoxiang_04 发表于 2013-2-24 00:04
个人理解
大小写人看着没什么区别都认识,但是程序只认知固定写法
就比如你写String a没事,写string a,st ...

:'(我确实错了。。误导大家了,我承认错误。。
我试了试以后感觉是这样
string 是 System.String 的别名,使用上基本无差别
一般把字符串当做对象,用string
把String当做类用的时候,一般这么用String.Format("{0:C3}", 2)\\数字格式化,输出货币,不过我试了试 string.format也可以
其实乱用也可以,但是string是C#保留字,不可用作变量名,String就不是了。
就是 string string="";是错误的,string String可以。
希望对你有帮助:dizzy:
作者: dbqwaii    时间: 2013-2-25 11:25
大写的String是类,一般都当作类来使用  
而string则是字符串  
两个在VS上边的颜色都不一样
作者: 生活墨墨    时间: 2013-2-25 11:47
有区别,但是当作变量就没有区别了。
作者: 许万里    时间: 2013-2-25 12:11
大写小写是有区别的   double   跟 DOUBLE   是两个变量名




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