C# Nullable学习

C#1.x中值类型不允许为null,但在C#2.0引入了Nullable类型,允许整型等值类型存储null值。Nullable是一个结构体,包含HasValue和Value两个字段。HasValue表示是否有值,Value则在HasValue为真时返回值,否则抛出异常。示例展示了如何声明和使用Nullable类型的变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在C#1.x,一个值类型变量是不可以被赋予null值的,否则会产生异常。

在C#2.0中,提供了Nullable类型,允许用它定义包含null值(即空值)的数据类型,这对处理数据库中包含可选字段以及很多方面都有帮助。

定义一个nullable类型,使用类型修饰符“?”;

比如定义一个整型如下:

int myInt = 1;

要使一个整型变量可以存储一个null值,可以如下声明:

int? myNullableInt= 1;

    这两个变量看起来似乎是一样的。但事实并非如此。实际上Nullable类型是一个结构体,它有两个公开可读字段:HasValue和Value。 HasValue是一个布尔值,当有值存储时它为真,当变量值为null时HasValue为假。当HavValue为真是时,可以取得变量的值;为假时,当尝试取得变量的值时会抛出一个异常。

看一下示例;

using System;

    class Demo
    {
        static void Main(string[] args){
            int? num1;
            int? num2 = 123;
            num1 = null;
        
            double? num3 = null;
            double? num4 = 3.1415926;

            Console.WriteLine("num1 = {0} \r\n num2 = {1} \r\n num3 = {2} \r\n num4 = {3}", num1, num2, num3, num4);
            Console.ReadLine();
        }
    }


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值