在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就可以让编译器少做一点点工作 。- using string = System.String;
-
- using sbyte = System.SByte;
-
- using byte = System.Byte;
-
- using short = System.Int16;
-
- using ushort = System.UInt16;
-
- using int = System.Int32;
-
- using uint = System.UInt32;
4、string 可以在不引用 任何命令空间的情况下使用。
String 必须先引用 System命名空间。
如果使用c#,建议使用string,比较符合规范。
参考文献