<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # C# 數據類型 在 C# 中,變量分為以下幾種類型: * 值類型(Value types) * 引用類型(Reference types) * 指針類型(Pointer types) ## 值類型(Value types) 值類型變量可以直接分配給一個值。它們是從類 **System.ValueType** 中派生的。 值類型直接包含數據。比如 **int、char、float**,它們分別存儲數字、字母、浮點數。當您聲明一個 **int** 類型時,系統分配內存來存儲值。 下表列出了 C# 2010 中可用的值類型: | 類型 | 描述 | 范圍 | 默認值 | | --- | --- | --- | --- | | bool | 布爾值 | True 或 False | False | | byte | 8 位無符號整數 | 0 到 255 | 0 | | char | 16 位 Unicode 字符 | U +0000 到 U +ffff | '\0' | | decimal | 128 位精確的十進制值,28-29 有效位數 | (-7.9 x 10<sup>28</sup> 到 7.9 x 10<sup>28</sup>) / 10<sup>0 到 28</sup> | 0.0M | | double | 64 位雙精度浮點型 | (+/-)5.0 x 10<sup>-324</sup> 到 (+/-)1.7 x 10<sup>308</sup> | 0.0D | | float | 32 位單精度浮點型 | -3.4 x 10<sup>38</sup> 到 + 3.4 x 10<sup>38</sup> | 0.0F | | int | 32 位有符號整數類型 | -2,147,483,648 到 2,147,483,647 | 0 | | long | 64 位有符號整數類型 | -923,372,036,854,775,808 到 9,223,372,036,854,775,807 | 0L | | sbyte | 8 位有符號整數類型 | -128 到 127 | 0 | | short | 16 位有符號整數類型 | -32,768 到 32,767 | 0 | | uint | 32 位無符號整數類型 | 0 到 4,294,967,295 | 0 | | ulong | 64 位無符號整數類型 | 0 到 18,446,744,073,709,551,615 | 0 | | ushort | 16 位無符號整數類型 | 0 到 65,535 | 0 | 如需得到一個類型或一個變量在特定平臺上的準確尺寸,可以使用 **sizeof** 方法。表達式 _sizeof(type)_ 產生以字節為單位存儲對象或類型的存儲尺寸。下面舉例獲取任何機器上 _int_ 類型的存儲尺寸: ``` namespace DataTypeApplication { class Program { static void Main(string[] args) { Console.WriteLine("Size of int: {0}", sizeof(int)); Console.ReadLine(); } } } ``` 當上面的代碼被編譯和執行時,它會產生下列結果: ``` Size of int: 4 ``` ## 引用類型(Reference types) 引用類型不包含存儲在變量中的實際數據,但它們包含對變量的引用。 換句話說,它們指的是一個內存位置。使用多個變量時,引用類型可以指向一個內存位置。如果內存位置的數據是由一個變量改變的,其他變量會自動反映這種值的變化。**內置的** 引用類型有:**object**、**dynamic** 和 **string**。 ### 對象(Object)類型 **對象(Object)類型** 是 C# 通用類型系統(Common Type System - CTS)中所有數據類型的終極基類。Object 是 System.Object 類的別名。所以對象(Object)類型可以被分配任何其他類型(值類型、引用類型、預定義類型或用戶自定義類型)的值。但是,在分配值之前,需要先進行類型轉換。 當一個值類型轉換為對象類型時,則被稱為 **裝箱**;另一方面,當一個對象類型轉換為值類型時,則被稱為 **拆箱**。 ``` object obj; obj = 100; // 這是裝箱 ``` ### 動態(Dynamic)類型 您可以存儲任何類型的值在動態數據類型變量中。這些變量的類型檢查是在運行時發生的。 聲明動態類型的語法: ``` dynamic <variable_name> = 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 = @"<script type=""text/javascript""> <!-- --> </script>"; ``` 用戶自定義引用類型有:class、interface 或 delegate。我們將在以后的章節中討論這些類型。 ## 指針類型(Pointer types) 指針類型變量存儲另一種類型的內存地址。C# 中的指針與 C 或 C++ 中的指針有相同的功能。 聲明指針類型的語法: ``` type* identifier; ``` 例如: ``` char* cptr; int* iptr; ``` 我們將在章節"不安全的代碼"中討論指針類型。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看