C#这个类型很有特色,因为默认情况下,基本值类型是不能被赋空值的,而可空类型是定义一个基本值类型,使它可以被赋空值.
使用单问号?
修饰的变量,表示可以对该变量进行null赋值,
而使用双问号??
运算,则类似与三目运算符,对变量进行是否为Null的判断,如果变量空则返回后面的值,非空则返回变量.
using System;
namespace nulltest
{
class NullTest
{
static void Main(string[] args)
{
int? n1 = null, n2 = 123;
int n3;
n3 = n1 ?? 456;
Console.WriteLine(n3);
n3 = n2 ?? 789;
Console.WriteLine(n3);
Console.ReadLine();
}
}
}