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是CLR的類型名稱(也算是關鍵字),而string是C#中的關鍵字。string在編譯時候C#編譯器會默認將其轉換為String,在這里會多增加幾行轉換的代碼。很多時候都是建議使用CLR的類型而不要使用C#的類型(這是專家的建議)。比如說還有:使用int的時候最好使用Int32等。很多時候都是一個習慣問題,規范問題。還有一個不同就是在VS中表現的顏色不一樣:String是綠色,string是藍色。