国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

在C#中使用可空類型

2019-11-18 17:17:18
字體:
供稿:網(wǎng)友

可空類型是System.Nullable結(jié)構(gòu)體的實列。一個可空類型代表了相應(yīng)值類型的正確范圍附加null值。例如Nullable<Int32>的取值范圍應(yīng)該是-2147483648到2147483647外加null。Null<bool>的取值為true,false和null。這種方法一般在處理數(shù)據(jù)庫的時候用到,因為數(shù)據(jù)庫里面可能含有沒有賦值的值類型。

class NullableExample
{
    static void Main()
    {
        int? num = null;
        if (num.HasValue == true)
        {
            System.Console.WriteLine("num = " + num.Value);
        }
        else
        {
            System.Console.WriteLine("num = Null");
        }

        // y將會被設(shè)置“0”。
        int y = num.GetValueOrDefault();

    // 如果num.HasValue為空,那么num.Value將會拋出InvalidOperationException異常。
        try
        {
            y = num.Value;
        }
        catch (System.InvalidOperationException e)
        {
            System.Console.WriteLine(e.Message);
        }
    }
}
輸出的結(jié)果:
num = Null
Nullable object must have a value.

可空類型具有如下的屬性:
·可空類型只能應(yīng)用于值類型,引用類型因為已經(jīng)支持了null而不能被使用。
·T?是System.Nullable<T>的縮寫,這里T是一個值類型。這兩種格式是可以互換的。
·可以像使用普通類型一樣使用可空類型。例如int? x = 10;或者double? d = 40108;
·使用System.Nullable.GetValueOrDefault還獲得值,或者當(dāng)它為空的時候獲得默認(rèn)值。
·使用HaseValue和Value只讀屬性來測試它是不是空并且返回相應(yīng)的非空值。
    ·如果含有值那么HaseValue返回真,否則返回假。
    ·如果含有值那么Value返回值,否則拋出System.InvalidOperationException異常。
    ·HaseValue默認(rèn)值為假,Value默認(rèn)為未定義。
·當(dāng)向值類型獲得可空類型的值得時候,使用??運算符來賦予一個可空類型一個默認(rèn)值。例如:int? x = null; int y = x ?? -1;
·不可以嵌套可空類型。Nullable<Nullabel<int>> n;將會拋出異常。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 普陀区| 宜章县| 宁武县| 东乌| 达日县| 菏泽市| 澎湖县| 古丈县| 杭锦后旗| 文山县| 屯门区| 和平区| 承德市| 崇信县| 泸西县| 漾濞| 钟祥市| 遂昌县| 报价| 宁都县| 宝丰县| 锡林郭勒盟| 东方市| 苏尼特左旗| 紫云| 郎溪县| 永善县| 汉沽区| 兰州市| 漾濞| 宁远县| 遂溪县| 余江县| 监利县| 克东县| 英吉沙县| 莱西市| 宜昌市| 中山市| 化德县| 张家港市|