引用型別(reference types)
引用型別不包含儲存在變數中的實際資料,但它們包含對變數的引用。
換句話說,它們指的是乙個記憶體位置。使用多個變數時,引用型別可以指向乙個記憶體位置。如果記憶體位置的資料是由乙個變數改變的,其他變數會自動反映這種值的變化。內建的 引用型別有:object、dynamic 和 string。
物件(object)型別
物件(object)型別 是 c# 通用型別系統(common type system - cts)中所有資料型別的終極基類。object 是 system.object 類的別名。所以物件(object)型別可以被分配任何其他型別(值型別、引用型別、預定義型別或使用者自定義型別)的值。但是,在分配值之前,需要先進行型別轉換。
當乙個值型別轉換為物件型別時,則被稱為 裝箱;另一方面,當乙個物件型別轉換為值型別時,則被稱為 拆箱。
object obj;
obj = 100; // 這是裝箱
動態(dynamic)型別
您可以儲存任何型別的值在動態資料型別變數中。這些變數的型別檢查是在執行時發生的。
宣告動態型別的語法:
dynamic = value;
例如:dynamic d = 20;
動態型別與物件型別相似,但是物件型別變數的型別檢查是在編譯時發生的,而動態型別變數的型別檢查是在執行時發生的。
字串(string)型別
字串(string)型別 允許您給變數分配任何字串值。字串(string)型別是 system.string 類的別名。它是從物件(object)型別派生的。字串(string)型別的值可以通過兩種形式進行分配:引號和 @引號。
例如:string str = 「w3cschool.cc」;
乙個 @引號字串:
@「w3cschool.cc」;
c# string 字串的前面可以加 @(稱作"逐字字串")將轉義字元(\)當作普通字元對待,比如:
string str = @「c:\windows」;
等價於:
string str = 「c:\windows」;
@ 字串中可以任意換行,換行符及縮排空格都計算在字串長度之內。
string str = @"
";使用者自定義引用型別有:class、inte***ce 或 delegate。我們將在以後的章節中討論這些型別。
C 中的資料型別
一 值型別 三種 1 簡單型別 types a 整數型別 八種 sbyte 有符號8位整數 128 127 byte 無符號8位整數 0 255 short 有符號16位整數 32768 32767 ushort 無符號16位整數 0 65535 int 有符號32位整數 2147483648 21...
c 中的資料型別
c 中的資料型別大致分為兩類 變數 常量,下面具體介紹一下 一.變數 變數分為一下幾種 布林變數 bool 佔乙個位,可以賦值為true 1 false 0 個人理解就是巨集定義,寫在標頭檔案中 字元型變數 char 佔乙個位元組 雙位元組型變數 一般佔2個位元組 用途以後再說 整形變數 int l...
c 中的資料型別
8中整數型別sbyte byte short ushort int uint long ulong 2種用於科學計算的二進位制浮點數型別 float double 1種用於金融計算的十進位制浮點型別 decimal 1中布林型別 bool 1中字元型別 string 直接將值放到源 中稱為硬編碼,因...