1. 可空类型(Nullable)
?单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 NullAble 类型的
例如,Nullable< Int32 >,读作"可空的 Int32",声明一个 nullable 类型(可空类型)的语法如下:
< data_type> ? <variable_name> = null;
2.合并运算符(??)
??双问号 可用于判断一个变量在为 null 时返回一个指定的值
num3 = num1 ?? 5.34; // num1 如果为空值则返回 5.34
说实话,null可以理解,但用了?还赋值就不是很理解为什么这样了。网上说在处理数据库和其他包含可能未赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型的功能特别有用,还没有具体实践...
using System;
public class NullTest
{
class nullTest
{
static void Main(string[] args)
{
int? i=3;
double? j = 3.1415926;
double? d = new double?();
double? k = d ?? j;
Console.WriteLine("i value is {0}",i);
Console.WriteLine("j value is {0}",j);
Console.WriteLine("d value is {0}",d);
Console.WriteLine("k value is {0}",k);
Console.ReadLine();
}
}
}