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

解决方案 »

  1.   

    在C#中,string 是 System.String 的别名,所以基本上在使用时是没有差别的。习惯上,我们把字符串当作对象时(有值的对象实体),我们用string。而我们把它当类时(需要字符串类中定义的方法),我们用String,比如:
    string greet = String.Format("Hello {0}!", place);其实乱用也可以,只是这样概念上清楚一点。另外string是C#保留字,不可用作变量名,String就不是了。
      

  2.   

    可以说是无区别,string是C#中的关键字,String是.net framework中的类型,C#编译之后都是System.String  然后最后都对应的是Char[]
      

  3.   

    别名而已,这个不用你想太多。
    其实我觉得应该是为了书写的规范,也是为了让那些从C转过来的程序员。
    更是Java的延伸
    之前我学Java的时候,int、double等,为了实现他完全面向对象的特征。在C#中string就不用考虑这些了,本来就是引用类型。一句话,基本上没有区别。别名。
      

  4.   

    string 是关键字,String是类名
      

  5.   

    string 是 System.String 的别名而已
      

  6.   

    你就当所有的.cs文件前边有一行 using string = System.String;
      

  7.   

    string 是 System.String 的别名,
    就如同 int 是 System.Int32 的别名 
    long 是 System.Int64 的别名
      

  8.   

    string是C#中的关键字。(看颜色区分跟if else一个颜色)
    String是CLR的类,必须先引用System命名空间。(看颜色区分跟Program类一个颜色)
    在编译时会自动将string转换成System.String,只要明白这2个概念就好了。 
    我是把string当做String的别名理解的,平常写代码基本都是用string。
    LZ仔细观察下C#书写格式,所有的类名、方法、属性,第1个字母都是大写的。
    不要再把string看成是一个类了! 
    你用If() Else (不是类名、方法、属性的)字母大写,编译器会报错的!
      

  9.   

    这是基元类型,string 目的是为了与 系统的System.String 区别的,其实是一样的,就像 System.Int32 与 int 一样。
      

  10.   

    如果你闲着无聊,非要说有什么区别……还是有的,比如你把using System;删除
    String s = "";编译不了
    string s = "";可以编译。
      

  11.   


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

  12.   

    string内部不就是维护的char字符么
      

  13.   

    一个是CLR类型  一个是C#类型
      

  14.   

    如果你要用多语言编程,比如VB+C#
    就用System.String否则的话,随便用哪个。
      

  15.   

    string 是C#的语法支持,
    String 则是string 对应的真实CLR中的类型,
    string 只是String的一个别名
    string 可以在不引用 任何命令空间的情况下使用
    String 必须先引用 System命名空间
      

  16.   

    一样的,一个是.net命名空间,一个是C#的 ,实际都用都是一个类
      

  17.   

    http://blog.163.com/budong_weimin_zh/blog/static/12919852420109263116804/