欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#可空类型用法分析

程序员文章站 2022-04-29 20:38:19
本文实例讲述了c#可空类型用法。分享给大家供大家参考。具体分析如下: 可空类型只能用于值类型,不能用于引用类型,引用类型本身支持null值。 如果直接把null赋值给i...

本文实例讲述了c#可空类型用法。分享给大家供大家参考。具体分析如下:

可空类型只能用于值类型,不能用于引用类型,引用类型本身支持null值。
如果直接把null赋值给int类型,会出现一个错误"无法将 null 转换成'int',因为它是一种值类型"。

赋值时应该使用 int? a = null;

可空类型与一元或二元运算符一起使用是,如果一个操作数或两个操作数都是null,其结果为null。

说白了int?a=null 这句话的意思就是让值类型a可以接收null这个值

举例1

int? a = null;
int? b = a * 5; //b = null 
int? c = a + 5; //c = null 

举例2

int? a = null;
int? b = null;
if (a > b)
{
 console.writeline("a > b is true");
}
else
{
 console.writeline("a > b is false");
}
if (a == b)
{
 console.writeline("a == b is true");
}
else
{
 console.writeline("a == b is false");
}

输出结果

a > b is false
a == b is true

举例3

int? a = null;
int b = -5;
if (a >= b)
{
 console.writeline("a>=b");
}
else
{
 console.writeline("a<b");
}
if (a <= b)
{
 console.writeline("a<=b");
}
else
{
 console.writeline("a>b");
}

输出结果(从结果可以看出不能正确识别a>b还是a<b,只要有一个值为null,a>b和a<b这两个条件都是返回false)

a<b
a>b

希望本文所述对大家的c#程序设计有所帮助。