且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C#中string与String的区别

更新时间:2022-08-31 13:51:02

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

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

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

3、String是公共语言运行时(CLR)中的实现类型,像VB,C++中的字符串类型最终都会编译成此类型。

    C#中字符串类型是String,string是C#中字符串类型String的反射,是String的一个别名,就像int对应于Int32一样,二者在C#中可通用。

    如果用string,编译器会把它编译成String,在这里会多增加几行转换的代码,如下面所示,所以如果直接用String就可以让编译器少做一点点工作 。

  1. using string = System.String;

  2. using sbyte = System.SByte;

  3. using byte = System.Byte;

  4. using short = System.Int16;

  5. using ushort = System.UInt16;

  6. using int = System.Int32;

  7. using uint = System.UInt32;

4、string 可以在不引用 任何命令空间的情况下使用。
    String 必须先引用 System命名空间。

 

如果使用c#,建议使用string,比较符合规范。   

 

参考文献

http://wenku.baidu.com/view/bf9e2d6f7e21af45b307a8e5.html

http://zhidao.baidu.com/link?url=BMEavdS76j0M6Jq9JxvkWfz5OT4dXt2zymvPvCFf7UYXIwl0r_lNUd0sof_gDZj-8M_LRmt1N-8J6v2u5gK8Vq