程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 08.C# System.Nulable<T>和空引用操作符(四章4.2-4.4),

08.C# System.Nulable<T>和空引用操作符(四章4.2-4.4),

編輯:C#入門知識

08.C# System.Nulable<T>和空引用操作符(四章4.2-4.4),


  看了這3小節,發現作者講得太詳細了,把一個都在正常使用的用法說得太神密了,搞得不知是自己不懂作者的苦心,還是作者用意為之,這裡給大家都簡單講下吧,太深的真心講不下去。

  1.可空類型的核心部分是System.Nullable<T>,除了這個之外,還有由靜態類System.Nullable提供的工具方法。

  2.Nullable<T>是一個泛型類型,類型參數T是一個值類型約束。

  3.T的類型稱為可空類型的基礎類型。

  4.Nullable<T>有兩個構造函數,一個用於創建沒有值的實例,一個接收T的一個實例作為值

1 Nullable<int> n = new Nullable<int>();
2 Nullable<int> n1 = new Nullable<int>(1);

  5.框架提供了兩個轉換,T到Nullable<T>的隱式轉換,Nullable<T>可以顯式轉換為T

1 Nullable<long> nL = 7;
2 long L = (long)nL;
3 
4 //報錯,需要顯式轉換
5 //long ll = nL;

  說到上述第一行代碼,讓我想起C++中的復制構造方法,或者一個參數的構造方法,大家可以去看下,C#應該也上C++中的實現吧。

  6.Nullable<T>的裝箱和拆箱,不知道可不可以理解成T到Nullable<T>的隱式轉換是裝箱,Nullable<T>可以顯式轉換為T是拆箱。

  7.可以使用語法糖,減少代碼的輸入,使用一個符號"?"

1 int? intNull = null;

  8.可以使用null進行比較,如上

  9.可空類型可參與運算符,其中會包含一些類型轉換,個中體會用過了就發現和一般的類型一樣,又因為可空類型可以使用null表示,就可以參與邏輯運算符(就是返回true和false那些)。當然也可以想到對於運算符as也是正常且可用。

  請斧正。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved