淺談C# 中的可空值類型 null
C# 不允許把 null 賦給一個值類型的數(shù)據(jù)。在 C# 中,以下語句是非法的:
int a = null; // 非法
但是,利用 C# 定義的一個修飾符,可將一個變量聲明為一個可空(nullable)值類型??煽罩殿愋驮谛袨樯吓c普通值類型相似,但可以將一個 null 值賦給它。如下所示:
int? a = null; // 合法
當(dāng)把一個變量定義為可空值類型時,該變量依然可以被賦值為 0,代碼如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 可空類型
{
class Program
{
static void Main(string[] args)
{
int? a = null;
Console.WriteLine("a = {0}", a);
a = 0;
Console.WriteLine("a = {0}", a);
}
}
}
運行結(jié)果為:

可空類型有如下屬性:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int? i = null;
if (!i.HasValue) // 若 i 包含一個真正的值,則 i.HasValue 為true
{
i = 99;
}
Console.WriteLine(i.Value); // i 的值
}
}
}
// i.HasValue 比 i != null 走了不少冤枉路,i.Value 也比 i 更麻煩
// 但是當(dāng)使用更加復(fù)雜的值類型(struct)來聲明可空類型時, .HasValue 和 .Value 就有了優(yōu)勢
相關(guān)文章
C#/VB.NET 在PDF中添加文件包(Portfolio)的方法
這篇文章主要介紹了C#/VB.NET 在PDF中添加文件包(Portfolio)的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-06-06
c# 實現(xiàn)子窗口關(guān)閉父窗口也關(guān)閉的方法
下面小編就為大家?guī)硪黄猚# 實現(xiàn)子窗口關(guān)閉父窗口也關(guān)閉的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01

