上一节:
下一节:

  C# Nullable

  • Nullable

    C# 提供了一种特殊的数据类型,即可为 null 的类型,您可以为其分配常规值范围和空值。
    例如,您可以在Nullable <Int32>变量中存储从-2,147,483,648到2,147,483,647或null的任何值。同样,您可以在Nullable <bool>变量中分配true,false或null。声明可空类型的语法如下-
    
    < data_type> ? <variable_name> = null;
    
    以下示例演示了可空数据类型的使用-
    
    using System;
    
    namespace CalculatorApplication {
       class NullablesAtShow {
          static void Main(string[] args) {
             int? num1 = null;
             int? num2 = 45;
             
             double? num3 = new double?();
             double? num4 = 3.14157;
             
             bool? boolval = new bool?();
    
             // display the values
             Console.WriteLine("Nullables at Show: {0}, {1}, {2}, {3}", num1, num2, num3, num4);
             Console.WriteLine("A Nullable boolean value: {0}", boolval);
             Console.ReadLine();
          }
       }
    }
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
    
    Nullables at Show: , 45,  , 3.14157
    A Nullable boolean value:
    
  • 空合并运算符(??)

    空合并运算符与 Nullable 类型和引用类型一起使用。它用于将操作数转换为可以进行隐式转换的另一个可为空(或不可以)的值类型操作数的类型。如果第一个操作数的值为null,则该运算符返回第二个操作数的值,否则返回第一个操作数的值。以下示例对此进行了解释-
    
    using System;
    
    namespace CalculatorApplication {
       class NullablesAtShow {
          static void Main(string[] args) {
             double? num1 = null;
             double? num2 = 3.14157;
             double num3;
             
             num3 = num1 ?? 5.34;      
             Console.WriteLine(" Value of num3: {0}", num3);
             
             num3 = num2 ?? 5.34;
             Console.WriteLine(" Value of num3: {0}", num3);
             Console.ReadLine();
          }
       }
    }
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
    
    Value of num3: 5.34
    Value of num3: 3.14157
    
上一节:
下一节: