在c#中賦值給變數的值必須具有和變數相同的型別。如int值賦給int變數,c#編譯器可以迅速判斷變數初始化表示式的型別,如果變數型別不符,就會明確告訴你。
提示需要強制轉換(例如在char中不允許使用加乙個數字)。就可以通過強制型別轉換,先轉換為int型加過後轉換成char型,注意char在c#中是16位的。
進入主題,在c#中是允許讓編譯器爛推斷變數的型別的,並在宣告變數的時候自動使用該型別,方法是,使用var關鍵字。通過var關鍵字宣告的變數被稱為隱式型別變數。
var關鍵字高數編譯器更具用於變數的初始化表示式推斷變數的型別。注意的地方是:var只是在宣告變數時提供一些方便。但是只要宣告了資料型別只能通過編譯器推斷的那個
型別賦值給它,還需要注意的地方是,只有提供表示式來初始化變數,才能使用關鍵字var。(一旦使用了var關鍵字資料型別就被固定下來了)
通過上圖可以看出,變數a已經被固定為int型。即使給起賦值為char型的變數,但是變數a依然是int型。(int 為32位是可以裝下乙個char 16 位的)
C 之匿名型別與隱式區域性變數
一 匿名型別 下面一段 展示了如何定義並且使用匿名型別 static void main string args var patent2 new var patent3 new console.writeline patent1.title,patent1.yearofpublication con...
第1條 優先使用隱式型別的區域性變數
條初始化語句的人肯定會把q的型別理解成字串,而實際上,編譯器所判 定的型別也正是字串。像這樣通過查詢表示式來初始化的變數,其型別通 常是較為明確的,因此,不妨用var來宣告。反之,若是初始化變數所用的 那條表示式無法清晰地傳達出適當的語義,從而令閱讀 的人容易誤解其 型別,那麼就不應該用var來宣告...
C 3 0新特性之隱式型別區域性變數的使用
首先說明一下,此新特性的專題基於ms五月份分布的c 3.0規範,但是官方中文版還沒有出來,結合自己的實踐和理解,希望能和大家一起分享某些前沿的東東,很有可能一些地方會出錯,望拋磚。在c 3.0裡面,可以對區域性變數進行隱式型別宣告,就是在宣告時可以不指定該變數的型別,變數在初始化的時候會由編譯器從表...