欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中可空類型的使用

 更新時間:2023年04月07日 15:32:08   作者:康凱哇咔咔  
本文主要介紹了C#中可空類型的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、什么是可空類型

可空類型允許我們創(chuàng)建一個值類型變量并且可以標(biāo)記為有效或無效,這樣我們就可以有效地將值類型設(shè)置為null??煽疹愋涂偸腔诹硗庖粋€叫做基礎(chǔ)類型的已經(jīng)被聲明的類型。

可以從任何值類型創(chuàng)建可空類型。不能從引用類型或其他可空類型創(chuàng)建可空類型。不能在代碼中顯示聲明可空類型,只能聲明可空類型的變量。編譯器會使用泛型隱式地創(chuàng)建可空類型。

舉例:聲明一個可空int類型的變量

產(chǎn)生的可空類型如下:

 必須確保使用可空類型時,該可空變量不是null

可空類型和相應(yīng)的非可空類型可以輕松轉(zhuǎn)換:

二、為可空類型賦值

可以將以下三種類型的值賦給可空變量:

基礎(chǔ)類型的值同一可空類型的值null 

三、使用空接合運(yùn)算符

  • 空接合運(yùn)算符允許我們在可空類型變量為null時返回一個值給表達(dá)式。(可空類型也可以使用標(biāo)準(zhǔn)運(yùn)算符和比較運(yùn)算符)
  • 空接合運(yùn)算符由兩個連續(xù)的問號組成。
  • 第一個操作數(shù)是可空類型的變量。
  • 第二個操作數(shù)是基礎(chǔ)類型的不可空值。
  • 在運(yùn)行時,如果第一個操作數(shù)運(yùn)算后為null,將返回第二個操作數(shù)作為結(jié)果。
        static void Main(string[] args)
        {
            int? myInt = null;
            Console.WriteLine("myInt:{0}", myInt ?? -1);
 
            myInt = 6;
            Console.WriteLine("myInt:{0}", myInt ?? -1);
            
        }

四、使用可空用戶自定義類型

1. 創(chuàng)建用戶自定義值類型

    struct MyStruct //聲明結(jié)構(gòu)
    {
        public int X;
        public int Y;
 
        public MyStruct(int x, int y) 
        {
            X = x;
            Y = y;
        }
    }

2.將值類型轉(zhuǎn)換為可空類型

        static void Main(string[] args)
        {
            MyStruct? ms = new MyStruct(6,7);//方式1,使用?
 
            MyStruct myStruct = new MyStruct(6,7);
            Nullable<MyStruct> ms3 =  new Nullable<MyStruct>(myStruct);//使用Nullable創(chuàng)建的可空類型
 
        }

3.使用自定義值類型轉(zhuǎn)換后的可空類型,可空類型其數(shù)據(jù)只能通過Value來訪問。

 struct MyStruct //聲明結(jié)構(gòu)
    {
        public int X;
        public int Y;
 
        public MyStruct(int x, int y) 
        {
            X = x;
            Y = y;
        }
    }
    internal class Program
    {
 
        static void Main(string[] args)
        {
            MyStruct ms1 = new MyStruct(6,7);//值類型
            
            MyStruct? ms2 = new MyStruct(6,7);//使用?創(chuàng)建的可空類型
 
            MyStruct myStruct = new MyStruct(6,7);
            Nullable<MyStruct> ms3 =  new Nullable<MyStruct>(myStruct);//使用Nullable創(chuàng)建的可空類型
            
 
            Console.WriteLine("X={0},Y={1}", ms1.X, ms1.Y);
 
            Console.WriteLine("X={0},Y={1}", ms2.Value.X, ms2.Value.Y);
 
            Console.WriteLine("X={0},Y={1}", ms3.Value.X, ms3.Value.Y);
 
 
        }
    }、

到此這篇關(guān)于C#中可空類型的使用的文章就介紹到這了,更多相關(guān)C# 可空類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#自定義字符串替換Replace方法實例

    C#自定義字符串替換Replace方法實例

    這篇文章主要介紹了C#自定義字符串替換Replace方法,以兩個不同實例對比分析了C#自定義字符串替換Replace的方法,是C#關(guān)于字符串操作的典型應(yīng)用,需要的朋友可以參考下
    2014-11-11
  • Unity控制指針旋轉(zhuǎn)到指定位置

    Unity控制指針旋轉(zhuǎn)到指定位置

    這篇文章主要為大家詳細(xì)介紹了Unity控制指針旋轉(zhuǎn)到指定位置,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#編寫游戲客戶端的實現(xiàn)代碼

    C#編寫游戲客戶端的實現(xiàn)代碼

    這篇文章主要介紹了C#編寫游戲客戶端的實現(xiàn)代碼,連接客戶端原理流程圖,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • C# 泛型List排序的實現(xiàn)

    C# 泛型List排序的實現(xiàn)

    本文主要介紹了C# 泛型List排序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • c#實現(xiàn)斷點續(xù)傳功能示例分享

    c#實現(xiàn)斷點續(xù)傳功能示例分享

    這篇文章主要介紹了c#實現(xiàn)的斷點續(xù)傳功能示例,斷點續(xù)傳就是在上一次下載時斷開的位置開始繼續(xù)下載。在HTTP協(xié)議中,可以在請求報文頭中加入Range段,來表示客戶機(jī)希望從何處繼續(xù)下載,下面是示例,需要的朋友可以參考下
    2014-03-03
  • C# log4net日志庫的用法小結(jié)

    C# log4net日志庫的用法小結(jié)

    log4net日志開源庫是用來控制日志文件大小,日志文件個數(shù),滾動式覆蓋,自由控制日志打印等級,今天通過本文給大家介紹C# log4net日志庫的用法小結(jié),感興趣的朋友一起看看吧
    2021-10-10
  • C# 判斷字符串第一位是否為數(shù)字

    C# 判斷字符串第一位是否為數(shù)字

    C# 判斷字符串第一位是否為數(shù)字,需要的朋友可以參考一下
    2013-04-04
  • C# 調(diào)用騰訊即時通信 IM的示例

    C# 調(diào)用騰訊即時通信 IM的示例

    這篇文章主要介紹了C# 調(diào)用騰訊即時通信 IM的示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-11-11
  • Unity實現(xiàn)簡單換裝系統(tǒng)

    Unity實現(xiàn)簡單換裝系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Unity實現(xiàn)簡單換裝系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • C# 獲取系統(tǒng)字體的示例代碼

    C# 獲取系統(tǒng)字體的示例代碼

    這篇文章主要介紹了C# 獲取系統(tǒng)字體的方法,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評論