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!至于為什么,還是大家自己看看這本書