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可以
String和Stringbuilder的主要区别在于内容变更时的处理,如string str = "12345";那么str就在内存中占用一块能放下这个字符串的位置,当你在扩展为str += "6";也就是变成"123456"的时候,string会重新向系统申请一块能放下“123456"的内存空间,这就使得string的字符串操作会频繁的申请内存。
而StringBuilder则不会这样,他会自动的向后扩展,不需要频繁的申请内存。