黑马程序员技术交流社区

标题: String与string的区别? [打印本页]

作者: 张林杰    时间: 2013-4-16 19:13
标题: String与string的区别?
本帖最后由 张林杰 于 2013-4-18 19:03 编辑

刚学C#。。String是类,string是关键字,感觉可以通用的样子。。凌乱了,跪求详细的解释。。谢谢!
举个例子:如下代码
  1. static void Main(string[] args)
  2.         {
  3.             string name = "HELLO";
  4.             String test = "HELLO";//这个为什么可以声明?怎么解释?
  5.             name=name.ToLower(); //此方法不是String类中的方法吗?
  6.             test=test.ToLower();
  7.             Console.WriteLine("{0} {1}",name,test);
  8.             Console.ReadKey();            
  9.         }
复制代码
此代码输出值为hello hello
那我可不可以理解为string和String在使用方法上没有任何区别?
作者: 殇_心。    时间: 2013-4-16 19:25

string是关键字,String不是。
也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以。
string是c#中的类,String是Framework的类,C# string 映射为 Framework的 String。
如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作。
如果使用C#,建议使用string,比较符合规范 。


作者: _王涛    时间: 2013-4-16 19:26
java中的类名是严格区分大小写的,所以首字母大写的String是Java中的字符串类型,
反而言之,首字母小写的string用于C#当中,而在hibernate中的时候小写string是它的字符类型,要想引用java中的大写String就得必须加上包名,例如:java.lang.String ; C#中是否能用,你测试下就OK了。
我知道的就这些了,希望帮到你!!

作者: HM朱百青    时间: 2013-4-16 19:37
string是C#中的类,String是.Net这个平台上的底层语言的类,我们平常所写的类,最终在编译的时候都会编译成.Net这个平台上底层的语言,就是说string最终会编译成String!
作者: 张林杰    时间: 2013-4-16 20:32
殇_心。 发表于 2013-4-16 19:25
string是关键字,String不是。
也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而 ...

那就是说 两个可以通用?就像1楼的代码那样?
作者: 殇_心。    时间: 2013-4-16 20:34
张林杰 发表于 2013-4-16 20:32
那就是说 两个可以通用?就像1楼的代码那样?

在某些时候嘛。。
你这里就是只需要这个字符串值嘛。。 所以可以这么用
作者: 张林杰    时间: 2013-4-16 20:40
殇_心。 发表于 2013-4-16 20:34
在某些时候嘛。。
你这里就是只需要这个字符串值嘛。。 所以可以这么用 ...

嗯,谢谢你的回答。。虽然我还是有点乱。。{:3_49:}
作者: 殇_心。    时间: 2013-4-16 20:42
张林杰 发表于 2013-4-16 20:40
嗯,谢谢你的回答。。虽然我还是有点乱。。

不慌```  慢慢来,面包总会有的




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