A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张林杰 中级黑马   /  2013-4-16 19:13  /  2013 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张林杰 于 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在使用方法上没有任何区别?

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

7 个回复

倒序浏览

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

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
java中的类名是严格区分大小写的,所以首字母大写的String是Java中的字符串类型,
反而言之,首字母小写的string用于C#当中,而在hibernate中的时候小写string是它的字符类型,要想引用java中的大写String就得必须加上包名,例如:java.lang.String ; C#中是否能用,你测试下就OK了。
我知道的就这些了,希望帮到你!!
回复 使用道具 举报
string是C#中的类,String是.Net这个平台上的底层语言的类,我们平常所写的类,最终在编译的时候都会编译成.Net这个平台上底层的语言,就是说string最终会编译成String!

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
殇_心。 发表于 2013-4-16 19:25
string是关键字,String不是。
也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而 ...

那就是说 两个可以通用?就像1楼的代码那样?
回复 使用道具 举报
张林杰 发表于 2013-4-16 20:32
那就是说 两个可以通用?就像1楼的代码那样?

在某些时候嘛。。
你这里就是只需要这个字符串值嘛。。 所以可以这么用
回复 使用道具 举报
殇_心。 发表于 2013-4-16 20:34
在某些时候嘛。。
你这里就是只需要这个字符串值嘛。。 所以可以这么用 ...

嗯,谢谢你的回答。。虽然我还是有点乱。。{:3_49:}
回复 使用道具 举报
张林杰 发表于 2013-4-16 20:40
嗯,谢谢你的回答。。虽然我还是有点乱。。

不慌```  慢慢来,面包总会有的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马