C#学习教程:C# 可空类型(Nullable)分享

C#可空类型(Nullable) C#单问号?与双问号??

?:单问号用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值,意思是这个数据类型是NullAble类型的。

int?i=3 等同于 Nullablei=newNullable(3); inti;//默认值0 int?ii;//默认值null

??:双问号可用于判断一个变量在为null时返回一个指定的值。

接下来我们详细说明。

C#可空类型(Nullable)

C#提供了一个特殊的数据类型,nullable类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个null值。

例如,Nullable,读作”可空的Int32″,可以被赋值为-2,147,483,648到2,147,483,647之间的任意值,也可以被赋值为null值。类似的,Nullable变量可以被赋值为true或false或null。

在处理数据库和其他包含可能未赋值的元素的数据类型时,将null赋值给数值类型或布尔型的功能特别有用。例如,数据库中的布尔型字段可以存储值true或false,或者,该字段也可以未定义。

声明一个nullable类型(可空类型)的语法如下:

?=null;

下面的实例演示了可空数据类型的用法:

实例 usingSystem;
namespaceCalculatorApplication
{
  classNullablesAtShow
  {
   staticvoidMain(string[]args)
   {
     int?num1=null;
     int?num2=45;
     double?num3=newdouble?();
     double?num4=3.14157;
     
     bool?boolval=newbool?();
     //显示值
     
     Console.WriteLine("显示可空类型的值:{0},{1},{2},{3}",
              num1,num2,num3,num4);
     Console.WriteLine("一个可空的布尔值:{0}",boolval);
     Console.ReadLine();
   }
  }
}

当上面的代码被编译和执行时,它会产生下列结果:

显示可空类型的值:,45,,3.14157 一个可空的布尔值: Null合并运算符(??)

Null合并运算符用于定义可空类型和引用类型的默认值。Null合并运算符为类型转换定义了一个预设值,以防可空类型的值为Null。Null合并运算符把操作数类型隐式转换为另一个可空(或不可空)的值类型的操作数的类型。

如果第一个操作数的值为null,则运算符返回第二个操作数的值,否则返回第一个操作数的值。下面的实例演示了这点:

实例 usingSystem;
namespaceCalculatorApplication
{
  classNullablesAtShow
  {
     
   staticvoidMain(string[]args)
   {
     
     double?num1=null;
     double?num2=3.14157;
     doublenum3;
     num3=num1??5.34;   //num1如果为空值则返回5.34
     Console.WriteLine("num3的值:{0}",num3);
     num3=num2??5.34;
     Console.WriteLine("num3的值:{0}",num3);
     Console.ReadLine();
   }
  }
}

当上面的代码被编译和执行时,它会产生下列结果:

num3的值:5.34 num3的值:3.14157

标签: ul ble ab lab le lable

C# 方法

C# 数组(Array)

上述就是C#学习教程:C# 可空类型(Nullable)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/908524.html

发表评论

邮箱地址不会被公开。 必填项已用*标注