發表文章

目前顯示的是 10月, 2013的文章

C# 關於String與string

這篇有點像是反省文…容我娓娓道來…>////< C#寫了很多年,心中曾對於String和string有過疑問,既然結果一樣,為什麼還要分大小寫? 學藝不精又不求甚解的我沒有立即尋求答案,因專案時程的壓力,只知道程式一支寫過一支…@@ 今天寫程式(將vb翻c#)的過程中,又遇到String和string了… 也不曉得為什麼,今天求知慾望很旺盛,於是在網路上找到了答案   由 string 與 String 談起  中提到 「String 指的是 System.String 類別,而 string 則是 C#內建的關鍵字。事實上,string 正是對應到 System.String 類別,也可說 string 是 System.String類別在 C#中的化名(alias),因此兩段 C#程式碼 都會編譯出相同的 IL 碼,對於 CLR 而言這兩者是沒什麼差別的。」  內建型別,又稱做原生型別(Primitive Type),顧名思義就是一個語言內建的型別。 以 C#來說,像是整數(int),浮點數(float),字串(string)等都是內建型別,你可以直接使用這些關鍵字撰寫你的程式,而 C#編譯器將能看懂這些關鍵字並為你編譯出適當的 IL 碼供執行之用。這邊還有個比較不嚴謹的簡陋講法,「程式語言有提供化名(alias)的型別就是該語言的內建型別了」。 文章最後也提到是要用String還是string呢? 在 C#語言規格書 1.2.1 中是建議使用關鍵字,也就是string,但也有人持不同的看法…,而文章作者則是覺得寫法風格一致,不要混用即可。 我覺得雖然不懂這個原理,程式也是可以寫的出來,但有些事情搞懂了,心裡比較踏實一點,觀念更清楚,這樣才是真的有進步。