C#可空類型用法分析
本文實(shí)例講述了C#可空類型用法。分享給大家供大家參考。具體分析如下:
可空類型只能用于值類型,不能用于引用類型,引用類型本身支持null值。
如果直接把null賦值給int類型,會(huì)出現(xiàn)一個(gè)錯(cuò)誤"無(wú)法將 NULL 轉(zhuǎn)換成'int',因?yàn)樗且环N值類型"。
賦值時(shí)應(yīng)該使用 int? a = null;
可空類型與一元或二元運(yùn)算符一起使用是,如果一個(gè)操作數(shù)或兩個(gè)操作數(shù)都是null,其結(jié)果為null。
說(shuō)白了int?a=null 這句話的意思就是讓值類型a可以接收null這個(gè)值
舉例1
int? a = null; int? b = a * 5; //b = null int? c = a + 5; //c = null
舉例2
int? a = null;
int? b = null;
if (a > b)
{
Console.WriteLine("a > b is true");
}
else
{
Console.WriteLine("a > b is false");
}
if (a == b)
{
Console.WriteLine("a == b is true");
}
else
{
Console.WriteLine("a == b is false");
}
輸出結(jié)果
a > b is false a == b is true
舉例3
int? a = null;
int b = -5;
if (a >= b)
{
Console.WriteLine("a>=b");
}
else
{
Console.WriteLine("a<b");
}
if (a <= b)
{
Console.WriteLine("a<=b");
}
else
{
Console.WriteLine("a>b");
}
輸出結(jié)果(從結(jié)果可以看出不能正確識(shí)別a>b還是a<b,只要有一個(gè)值為null,a>b和a<b這兩個(gè)條件都是返回false)
a<b a>b
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#開發(fā)Windows窗體應(yīng)用程序的簡(jiǎn)單操作步驟
這篇文章主要介紹了C#開發(fā)Windows窗體應(yīng)用程序的簡(jiǎn)單操作步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
C#中Task.ContinueWith連續(xù)任務(wù)使用實(shí)例
本文主要介紹了C#中Task.ContinueWith連續(xù)任務(wù)使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
混合語(yǔ)言編程—C#使用原生的Directx和OpenGL繪圖的方法
本文要說(shuō)的是混合C#和C/C++語(yǔ)言編程,在C#的Winform和WPF下使用原生的Direct和OpenGL進(jìn)行繪圖2013-09-09
C#實(shí)現(xiàn)Zip壓縮目錄中所有文件的方法
這篇文章主要介紹了C#實(shí)現(xiàn)Zip壓縮目錄中所有文件的方法,涉及C#針對(duì)文件的讀寫與zip壓縮相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
C#實(shí)現(xiàn)gRPC服務(wù)和調(diào)用示例詳解
gRPC?是一種與語(yǔ)言無(wú)關(guān)的高性能遠(yuǎn)程過(guò)程調(diào)用?(RPC)?框架,這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)gRPC服務(wù)和調(diào)用,需要的可以參考一下2024-01-01

