雷林鹏分享:C# 可空类型(Nullable)

摘要:
Int32>变量可以赋值为true、false或null;将空值赋给数字类型或布尔类型的函数特别有用。数据库中的布尔字段可以存储true或false的值,data_type>=无效的下面的示例演示了可为null的数据类型的使用;num4=3.14157;boolval=新手;}}当编译和执行上述代码时;

  C# 可空类型(Nullable)

  C# 可空类型(Nullable)

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

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

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

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

  < 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?();

  // 显示值

  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,则运算符返回第二个操作数的值,否则返回第一个操作数的值。下面的实例演示了这点:

  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("num3 的值: {0}", num3);

  num3 = num2 ?? 5.34;

  Console.WriteLine("num3 的值: {0}", num3);

  Console.ReadLine();

  }

  }

  }

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

  num3 的值: 5.34

  num3 的值: 3.14157

  本文转载自:w3cschool(编辑:雷林鹏 来源:网络)

免责声明:文章转载自《雷林鹏分享:C# 可空类型(Nullable)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nginx反向代理后,重定向失败问题浅谈僵尸网络利器:Fast-flux技术下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VC中Spin控件的使用

微调按钮设置成set buddy inter选上 然后可以(1)通过 setbuddy+setrange函数    或(2)auto buddy自动选上,只要编辑框的tab order 比微调按钮小1就可以自动了 (另转)VC中Spin控件的使用 http://leichaofu.blog.163.com/blog/static/459481820098...

c# 异常:值不能为 null。 参数名: source

异常详细信息: System.ArgumentNullException: 值不能为 null。参数名: source 其实问题那就出在 Select() 方法,在 Select 上按 F12 查看定义 public static IEnumerable<TResult> Select<TSource, TResult>(this...

量化参数QP:quantization parameter 以及 HEVC

一、介绍 1、量化就是把信号的连续取值映射成多个离散的幅值的过程,实现了信号取值多对一的映射。 2、残差数据进过变换之后,变换系数具有较大的取值范围,量化可以有效减小信号的取值范围,进而获得更好的压缩效果,量化是造成失真的根本原因   二、衡量失真的三种准则(分别有对应的公式): 1、均方差MSE 2、信噪比SNR 3、峰值信噪比PSNR   三、HEVC...

图片选择器

注释比较少。。。直接贴代码吧,主要有popupWindow的实现,然后通过ContentResolver便利自己手机里的所有图片,直接贴代码吧 主Activity的实现 public class MainActivity extends Activity { private GridView id_gridView; private T...

mysql last_insert_id() (转载)

先来看看官方的说明 The ID that was generated is maintained in the server on a per-connection basis. This means that the value returned by the function to a given client is the first AUTO_I...

hibernate主键自动生成

Entity类中,主键尽量使用可以为null值的类型,比如Integer,Long,String等,不要用int,long等。因为如果主键为null,则表示该实体类还没有保存到数据库,是一个临时状态(Transient),而int,long不能设置为null,不具备该功能。 <!--以上抄书,待研究论证--> Java代码   <...