国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 温宿县| 登封市| 襄城县| 讷河市| 岑溪市| 娄烦县| 平乡县| 仁怀市| 沛县| 桑植县| 临桂县| 承德县| 辉县市| 扬中市| 绥中县| 浑源县| 台山市| 马关县| 灌南县| 天等县| 伊宁县| 阿鲁科尔沁旗| 泰宁县| 湘西| 常宁市| 醴陵市| 罗山县| 东港市| 康定县| 彰武县| 通州区| 敦煌市| 临夏县| 买车| 红原县| 黄冈市| 夏邑县| 岳阳市| 于田县| 山东| 遂川县|