1. 程式人生 > >C#中String與string的區別

C#中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 可以。

String 是 CLR 的型別名稱(也算是關鍵字),而 string 是 C# 中的關鍵字。string 在編譯時候 C# 編譯器會預設將其轉換為 String,在這裡會多增加幾行轉換的程式碼。很多時候都是建議使用 CLR 的型別而不要使用 C# 的型別(這是專家的建議)。比如說還有:使用 int 的時候最好使用 Int32 等。很多時候都是一個習慣問題,規範問題。還有一個不同就是在 VS 中表現的顏色不一樣:String 是綠色,string 是藍色。