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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 石国庆 中级黑马   /  2013-3-15 21:43  /  1688 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

初学C#,一直不明白String和string的区别,两个类之间可以通用吗?求大牛给解释哈……谢

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

4 个回复

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

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

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

另外string是C#保留字,不可用作变量名,String就不是了。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

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

评分

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

查看全部评分

回复 使用道具 举报
string是String的别名,string是C#中的类,String是Framework中的类,他们之间存在映射关系,如果用string编译器会把它编译成String,直接用String就可以让编译器少做工作,提升效率
在C#中,使用string比较符合规范
string 是关键字,String不是。
string不能作为类、结构、枚举、字段、变量、方法、属性的名称而String可以

评分

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

查看全部评分

回复 使用道具 举报
String是公共语言运行时(CLR)中的实现类型,像VB,C++中的字符串类型最终都会编译成此类型,C#中字符串类型是String,而string是C#中字符串类型String的反射,可以理解为一种简化的书写方式,就像int对应于Int32一样,二者在C#中可通用

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马