C#中String和string区别
第一种解释:
string是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色) c# string映射为.net Framework的String 如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作 string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以
第二种解释:
String是一个类,string是一种数据类型. string是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色) c# string映射为.net Framework的String 如果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作 如果使用c#,建议使用string,比较符合规范 string始终代表 System.String(1.x) 或 ::System.String(2.0) ,String只有在前面有using System;的时候并且当前命名空间中没有名为String的类型(class、struct、delegate、enum)的时候才代表System.String string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以
第三种解释:
C#中,字符串的声明,你使用String还是string?
String? string? 只有一个大小写的问题,你习惯用哪个?知道具体的区别吗?
我是习惯了用string,区别也是最近才找到了权威的根据,'CLR via C#'。
其实,String是CLR的类型名称(也算是keyword),而string是C#中的keyword。在C#的编译时,默认会增加几行代码,看了你就会明白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;
对了! using string = System.String; C#编译器,会自动的把string转化为Sysem.string!
在CLR via C#中,Jeffrey Richter建议coding时,使用CLR默认的类型,也就是说,不要string,要String;不要int要Int32!至于为什么,还是大家自己看看这本书