你真的了解基本型別嗎?
C#型別分類
- 值型別
- 參考型別(Object,string),除此之外是值型別
注意點:
- 介面型別(使用interface 來宣告),可以由值型別實作(struct)
- 變數的值是在它宣告的位置存盤的,一般來說參考型別是從托管堆上分配的;值型別是在堆疊上分配的,但是假定一個類中有一個int 型別的實體變數,那么在這個類的任何物件中,該變數的值總是和物件中的其他資料在一起,也就是在堆上,
型別轉換
-
隱式轉換,無需指定型別
-
顯式轉換(強制轉換),需指定型別
示例:int a = 123; long b = a;//隱式轉換 int c = (int) b; //顯式轉換
具體的可轉換型別參考:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/builtin-types/numeric-conversions
裝箱和拆箱
兩點注意:
● 對于參考型別的變數,它的值永遠是一個參考;
● 對于值型別的變數,它的值永遠是該值型別的一個值,
示例:
int i = 5;//
object o = i;//裝箱,值型別轉換為參考型別
int j = (int) o;//拆箱,參考型別轉換為值型別
以上為個人所見所學,若有不足之處,望各位多多指出,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/172069.html
標籤:C#
