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

首頁 > 編程 > C# > 正文

淺談C# 中的可空值類型 null

2020-01-24 03:02:22
字體:
來源:轉載
供稿:網友

C# 不允許把 null 賦給一個值類型的數據。在 C# 中,以下語句是非法的:

復制代碼 代碼如下:

int a = null;    // 非法 

但是,利用 C# 定義的一個修飾符,可將一個變量聲明為一個可空(nullable)值類型。可空值類型在行為上與普通值類型相似,但可以將一個 null 值賦給它。如下所示:

復制代碼 代碼如下:

int? a = null;      // 合法

當把一個變量定義為可空值類型時,該變量依然可以被賦值為 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);
        }
    }
}

運行結果為:

可空類型有如下屬性:

復制代碼 代碼如下:

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 更麻煩
// 但是當使用更加復雜的值類型(struct)來聲明可空類型時, .HasValue 和 .Value 就有了優勢

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太和县| 咸阳市| 乌鲁木齐市| 本溪| 二手房| 宜都市| 五常市| 扎囊县| 崇礼县| 遂溪县| 比如县| 德昌县| 张北县| 湖州市| 大悟县| 江门市| 茶陵县| 沅陵县| 郁南县| 盖州市| 宾阳县| 买车| 霞浦县| 四平市| 朝阳区| 阿拉善右旗| 棋牌| 宝丰县| 苗栗市| 连城县| 共和县| 墨脱县| 哈尔滨市| 安阳市| 赣州市| 开封县| 西和县| 屏东市| 梅州市| 定安县| 射洪县|