亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解c# 可空類型(Nullable)

 更新時間:2020年07月13日 16:45:44   作者:菜鳥教程  
這篇文章主要介紹了c# 可空類型(Nullable)的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下

C# 單問號 ? 與 雙問號 ??

? : 單問號用于對 int,double,bool 等無法直接賦值為 null 的數(shù)據(jù)類型進行 null 的賦值,意思是這個數(shù)據(jù)類型是 NullAble 類型的。

int? i = 3 
等同于
Nullable<int> i = new Nullable<int>(3);

int i; //默認(rèn)值0
int? ii; //默認(rèn)值null

?? : 雙問號 可用于判斷一個變量在為 null 時返回一個指定的值。

接下來我們詳細(xì)說明。

C# 可空類型(Nullable)

C# 提供了一個特殊的數(shù)據(jù)類型,nullable 類型(可空類型),可空類型可以表示其基礎(chǔ)值類型正常范圍內(nèi)的值,再加上一個 null 值。

例如,Nullable< Int32 >,讀作"可空的 Int32",可以被賦值為 -2,147,483,648 到 2,147,483,647 之間的任意值,也可以被賦值為 null 值。類似的,Nullable< bool > 變量可以被賦值為 true 或 false 或 null。

在處理數(shù)據(jù)庫和其他包含可能未賦值的元素的數(shù)據(jù)類型時,將 null 賦值給數(shù)值類型或布爾型的功能特別有用。例如,數(shù)據(jù)庫中的布爾型字段可以存儲值 true 或 false,或者,該字段也可以未定義。

聲明一個 nullable 類型(可空類型)的語法如下:

< data_type> ? <variable_name> = null;

下面的實例演示了可空數(shù)據(jù)類型的用法:

using System;
namespace CalculatorApplication
{
  class NullablesAtShow
  {
   static void Main(string[] args)
   {
     int? num1 = null;
     int? num2 = 45;
     double? num3 = new double?();
     double? num4 = 3.14157;
     
     bool? boolval = new bool?();

     // 顯示值
     
     Console.WriteLine("顯示可空類型的值: {0}, {1}, {2}, {3}",
              num1, num2, num3, num4);
     Console.WriteLine("一個可空的布爾值: {0}", boolval);
     Console.ReadLine();

   }
  }
}

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:

顯示可空類型的值: , 45,  , 3.14157
一個可空的布爾值:

Null 合并運算符( ?? )

Null 合并運算符用于定義可空類型和引用類型的默認(rèn)值。Null 合并運算符為類型轉(zhuǎn)換定義了一個預(yù)設(shè)值,以防可空類型的值為 Null。Null 合并運算符把操作數(shù)類型隱式轉(zhuǎn)換為另一個可空(或不可空)的值類型的操作數(shù)的類型。

如果第一個操作數(shù)的值為 null,則運算符返回第二個操作數(shù)的值,否則返回第一個操作數(shù)的值。下面的實例演示了這點:

using System;
namespace CalculatorApplication
{
  class NullablesAtShow
  {
     
   static void Main(string[] args)
   {
     
     double? num1 = null;
     double? num2 = 3.14157;
     double num3;
     num3 = num1 ?? 5.34;   // num1 如果為空值則返回 5.34
     Console.WriteLine("num3 的值: {0}", num3);
     num3 = num2 ?? 5.34;
     Console.WriteLine("num3 的值: {0}", num3);
     Console.ReadLine();

   }
  }
}

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:

num3 的值: 5.34
num3 的值: 3.14157

以上就是詳解c# 可空類型(Nullable)的詳細(xì)內(nèi)容,更多關(guān)于c# 可空類型(Nullable)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#實現(xiàn)帶消息數(shù)的App圖標(biāo)

    C#實現(xiàn)帶消息數(shù)的App圖標(biāo)

    這篇文章主要介紹了如何使用C#實現(xiàn)帶消息數(shù)的App圖標(biāo)的方法,并附上全部源碼,分享給大家,有需要的小伙伴可以參考下。
    2015-12-12
  • C#基于COM方式讀取Excel表格的方法

    C#基于COM方式讀取Excel表格的方法

    這篇文章主要介紹了C#基于COM方式讀取Excel表格的方法,涉及C# COM組件的調(diào)用與Excel表格的使用技巧,需要的朋友可以參考下
    2016-07-07
  • Unity?使用tiledmap解析地圖的詳細(xì)過程

    Unity?使用tiledmap解析地圖的詳細(xì)過程

    這篇文章主要介紹了Unity?使用tiledmap解析地圖,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Unity3D實現(xiàn)射線使物體移動

    Unity3D實現(xiàn)射線使物體移動

    這篇文章主要為大家詳細(xì)介紹了Unity3D實現(xiàn)射線使物體移動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • c# 隨機函數(shù)的使用詳解

    c# 隨機函數(shù)的使用詳解

    本篇文章是對c#隨機函數(shù)的使用進行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C#基于OLEDB獲取Excel文件表結(jié)構(gòu)信息的方法

    C#基于OLEDB獲取Excel文件表結(jié)構(gòu)信息的方法

    這篇文章主要介紹了C#基于OLEDB獲取Excel文件表結(jié)構(gòu)信息的方法,結(jié)合實例形式分析了OLEDB的調(diào)用及Excel的相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • C#中Hashtable和Dictionary的區(qū)別與用法示例

    C#中Hashtable和Dictionary的區(qū)別與用法示例

    由于 Hashtable 和 Dictionary 同時存在, 在使用場景上必然存在選擇性, 并不任何時刻都能相互替代。所以這篇文章主要給大家介紹了關(guān)于C#中Hashtable和Dictionary區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • C#裝飾者模式實例分析

    C#裝飾者模式實例分析

    這篇文章主要介紹了C#裝飾者模式,是C#中比較常見的設(shè)計模式,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • Unity通過UGUI的Slider調(diào)整物體顏色

    Unity通過UGUI的Slider調(diào)整物體顏色

    這篇文章主要為大家詳細(xì)介紹了Unity通過UGUI的Slider調(diào)整物體顏色,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 解決C#運行程序修改數(shù)據(jù)后數(shù)據(jù)表不做更新的問題

    解決C#運行程序修改數(shù)據(jù)后數(shù)據(jù)表不做更新的問題

    近日,在使用C#連接數(shù)據(jù)庫的時候,對數(shù)據(jù)庫中的表做更新后,在當(dāng)前啟動項目中去顯示表數(shù)據(jù)時雖然會發(fā)生一個更新,但是在結(jié)束程序運行后再去觀察數(shù)據(jù)表中的記錄時發(fā)現(xiàn)并沒有發(fā)生一個變化,所以本文給大家解決一下這個問題,需要的朋友可以參考下
    2023-08-08

最新評論