C# 可空类型(Nullable) 和 合并运算符 电脑版发表于:2020/7/31 10:23 ```csharp /// <summary> /// 可空类型测试 /// </summary> public static void NullVal() { int? num1 = null; int? num2 = 45; double? num3 = new double?(); double? num4 = 3.14157; bool? boolval = new bool?(); // 显示值 Console.WriteLine("显示可空类型的值: {0}, {1}, {2}, {3}", num1, num2, num3, num4); Console.WriteLine("一个可空的布尔值: {0}", boolval); //Console.ReadLine(); } /// <summary> /// Null 合并运算符( ?? ) /// </summary> public static void NullVal2() { double? num1 = null; double? num2 = 3.14157; double num3; num3 = num1 ?? 5.34; // num1 如果为空值则返回 5.34 Console.WriteLine("num3 的值: {0}", num3); num3 = num2 ?? 5.34; Console.WriteLine("num3 的值: {0}", num3); Console.ReadLine(); } ``` 调用测试: ```csharp static void Main(string [] args) { int? i = 3; /// 等同于Nullable<int> i = new Nullable<int>(3); Nullable<int> i2 = new Nullable<int>(3); //原型 int a; //默认值0 int? b; //默认值null // ?? : 双问号 可用于判断一个变量在为 null 时返回一个指定的值。 // 可空类型(Nullable) //声明一个 nullable 类型(可空类型)的语法如下: //< data_type > ? < variable_name > = null; //可空类型测试 NullVal(); //合并运算符测试 NullVal2(); } ``` 輸出結果: 