<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 可以為 null 的類型(C# 編程指南) 可以為 null 的類型是 [System.Nullable&lt;T&gt;](https://msdn.microsoft.com/zh-cn/library/b3h38hb0.aspx) 結構的實例。可以為 null 的類型可以表示其基礎值類型正常范圍內的值,再加上一個 **null** 值。例如,Nullable&lt;Int32&gt; 讀作“可以為 null 的 Int32”,可以將其賦值為 -2147483648 到 2147483647 之間的任意值,也可以將其賦值為 **null** 值。可以賦給 Nullable&lt;bool&gt; 的值包括 [true](https://msdn.microsoft.com/zh-cn/library/eahhcxk2.aspx)、[false](https://msdn.microsoft.com/zh-cn/library/67bxt5ee.aspx) 或 [null](https://msdn.microsoft.com/zh-cn/library/edakx9da.aspx)。在處理數據庫和其他包含不可賦值的元素的數據類型時,將 **null** 賦值給數值類型或布爾型的功能特別有用。例如,數據庫中的布爾型字段可以存儲值 **true** 或 **false**,或者,該字段也可以未定義。 ``` class NullableExample { static void Main() { int? num = null; // Is the HasValue property true? if (num.HasValue) { System.Console.WriteLine("num = " + num.Value); } else { System.Console.WriteLine("num = Null"); } // y is set to zero int y = num.GetValueOrDefault(); // num.Value throws an InvalidOperationException if num.HasValue is false try { y = num.Value; } catch (System.InvalidOperationException e) { System.Console.WriteLine(e.Message); } } } ``` 此示例將顯示輸出: num = Null Nullable object must have a value. 有關更多示例,請參見[使用可以為 null 的類型(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/2cf62fcy.aspx)。 ## 可以為 null 的類型概述 可以為 null 的類型具有以下特性: * 可以為 null 的類型表示可被賦值為 **null** 值的值類型變量。無法創建基于引用類型的可以為 null 的類型。(引用類型已支持 **null** 值。) * 語法 **T?** 是 [Nullable&lt;T&gt;](https://msdn.microsoft.com/zh-cn/library/b3h38hb0.aspx) 的簡寫,此處的 **T** 為值類型。這兩種形式可以互換。 * 為可以為 null 的類型賦值的方法與為一般值類型賦值的方法相同,如 int? x = 10; 或 double? d = 4.108。對于可以為 null 的類型,也可向其賦 **null**: int? x = null. 值 * 如果基礎類型的值為 **null**,請使用 [Nullable&lt;T&gt;.GetValueOrDefault](https://msdn.microsoft.com/zh-cn/library/72cec0e0.aspx) 方法返回該基礎類型所賦的值或默認值,例如 int j = x.GetValueOrDefault(); * 將 [HasValue](https://msdn.microsoft.com/zh-cn/library/sksw8094.aspx) 和 [Value](https://msdn.microsoft.com/zh-cn/library/ydkbatt6.aspx) 只讀屬性用于測試是否為空和檢索值,如下面的示例所示:if(x.HasValue) j = x.Value; * 如果此變量包含值,則 **HasValue** 屬性返回 **true**;或者如果是 **null** 則返回 **false**。 * 如果已賦值,則 **Value** 屬性返回該值。否則,將引發 [System.InvalidOperationException](https://msdn.microsoft.com/zh-cn/library/system.invalidoperationexception.aspx)。 * **HasValue** 的默認值為 **false**。 **Value** 屬性沒有默認值。 * 還可以將 **==** 和 **!=** 操作數用于可為 null 的類型,如下面的示例所示:if (x != null) y = x; * 使用 **??** 算符分配默認值,在將當前值為 **null** 的可以為 null 的類型賦值給不可以為 null 的類型時,將應用該默認值,如 int? x = null; int y = x ?? -1; * 不允許使用嵌套的可以為 null 的類型。將不編譯下面一行:Nullable&lt;Nullable&lt;int&gt;&gt; n; ## 相關章節 有關更多信息: * [使用可以為 null 的類型(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/2cf62fcy.aspx) * [裝箱可以為 null 的類型(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/ms228597.aspx) * [?? 運算符(C# 參考)](https://msdn.microsoft.com/zh-cn/library/ms173224.aspx) ## C# 語言規范 有關詳細信息,請參閱 [C# 語言規范](https://msdn.microsoft.com/zh-cn/library/ms228593.aspx)。該語言規范是 C# 語法和用法的權威資料。 ## 請參閱 [Nullable](https://msdn.microsoft.com/zh-cn/library/system.nullable.aspx) [C# 編程指南](https://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx) [Visual C#](https://msdn.microsoft.com/zh-cn/library/kx37x362.aspx) [C# 參考](https://msdn.microsoft.com/zh-cn/library/618ayhy6.aspx) [“lifted 正確意味著什么?](http://go.microsoft.com/fwlink/?LinkId=112382)
                  <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>

                              哎呀哎呀视频在线观看