当前位置:编程学习 > C#/ASP.NET >>

String与string 的区别…………

初学C#,一直不明白String和string的区别,两个类之间可以通用吗?求大牛给解释哈……谢 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 在C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。

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

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

另外string是C#保留字,不可用作变量名,String就不是了。 --------------------编程问答-------------------- 可以说是无区别,string是C#中的关键字,String是.net framework中的类型,C#编译之后都是System.String  然后最后都对应的是Char[] --------------------编程问答-------------------- 别名而已,这个不用你想太多。
其实我觉得应该是为了书写的规范,也是为了让那些从C转过来的程序员。
更是Java的延伸。。。
之前我学Java的时候,int、double等,为了实现他完全面向对象的特征。在C#中string就不用考虑这些了,本来就是引用类型。一句话,基本上没有区别。别名。 --------------------编程问答-------------------- string 是关键字,String是类名 --------------------编程问答-------------------- string 是 System.String 的别名而已 --------------------编程问答-------------------- 你就当所有的.cs文件前边有一行 using string = System.String; --------------------编程问答-------------------- string 是 System.String 的别名,
就如同 int 是 System.Int32 的别名 
long 是 System.Int64 的别名
--------------------编程问答-------------------- 大体上都是一样的! --------------------编程问答-------------------- string是C#中的关键字。(看颜色区分跟if else一个颜色)
String是CLR的类,必须先引用System命名空间。(看颜色区分跟Program类一个颜色)
在编译时会自动将string转换成System.String,只要明白这2个概念就好了。 
我是把string当做String的别名理解的,平常写代码基本都是用string。

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


LZ仔细观察下C#书写格式,所有的类名、方法、属性,第1个字母都是大写的。
不要再把string看成是一个类了! 
你用If() Else (不是类名、方法、属性的)字母大写,编译器会报错的! --------------------编程问答-------------------- 这是基元类型,string 目的是为了与 系统的System.String 区别的,其实是一样的,就像 System.Int32 与 int 一样。 --------------------编程问答-------------------- 一个应用,一个类。。 --------------------编程问答-------------------- 主要是两个的命名空间不一样 --------------------编程问答-------------------- 如果你闲着无聊,非要说有什么区别……

还是有的,比如你把using System;删除
String s = "";编译不了
string s = "";可以编译。 --------------------编程问答--------------------
引用 3 楼 yangjjfan 的回复:
C#编译之后都是System.String  然后最后都对应的是Char[]


错的,string跟char[]是两回事 --------------------编程问答-------------------- 一个是类 一个是基本类型 --------------------编程问答--------------------
引用 5 楼 davinciyxw 的回复:
string 是关键字,String是类名

€ --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
引用 15 楼 KarasCanvas 的回复:
引用 3 楼 yangjjfan 的回复:
C#编译之后都是System.String  然后最后都对应的是Char[]

错的,string跟char[]是两回事

string内部不就是维护的char字符么 --------------------编程问答-------------------- 一个是CLR类型  一个是C#类型 --------------------编程问答-------------------- 如果你要用多语言编程,比如VB+C#
就用System.String

否则的话,随便用哪个。 --------------------编程问答--------------------
引用 2 楼 qsw1214 的回复:
在C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。

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

其实乱用也可以,……


+1 说的很清楚了 --------------------编程问答--------------------
引用 2 楼 qsw1214 的回复:
在C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。

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

其实乱用也可以,……

string 是C#的语法支持,
String 则是string 对应的真实CLR中的类型,
string 只是String的一个别名
string 可以在不引用 任何命令空间的情况下使用
String 必须先引用 System命名空间 --------------------编程问答-------------------- 没有区别...... --------------------编程问答-------------------- 一个大名,
一个小名
都是指同一个人 --------------------编程问答-------------------- 对比下 调用方式和里面含有的方法 就知道有什么不同了 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 14 楼 caozhy 的回复:
如果你闲着无聊,非要说有什么区别……

还是有的,比如你把using System;删除
String s = "";编译不了
string s = "";可以编译。

其实这不是我无聊,这是西安华为的面试题,嗯,感谢大牛的回复,谢。 --------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 2 楼 qsw1214 的回复:
在C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。

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

其实乱用也可以,只是这样概念上清楚一点。
……
顶 --------------------编程问答-------------------- 用了很久,单从没考虑过这个问题 --------------------编程问答-------------------- 一样的,一个是.net命名空间,一个是C#的 ,实际都用都是一个类 --------------------编程问答-------------------- http://blog.163.com/budong_weimin_zh/blog/static/12919852420109263116804/
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,