C#中关于可空类型的小知识

 更新时间:2015年04月10日 10:49:15   投稿:junjie  
这篇文章主要介绍了C#中关于可空类型的小知识,本文讲解可空类型运算的小技巧,需要的朋友可以参考下

1) 在与1元或二元运算符一起使用时,如果其中一个操作数为null或两个均null,则结果为null。
如:

复制代码 代码如下:

int? a = null;
int? b = a+3;

则b为null

2) 比较可空类型时,只要有一个操作数为null,结果就为false

如:

复制代码 代码如下:

int? a = null;

int? b = 8;


(a>=b)将返回false

而正是因为null的可能性,所以不能随意比较一个可空类型和一个非可空类型。

3) 空接合运算符

空接合运算符”??”为处理可空类型和引用类型时表示Null值的可能性提供了一种快捷方式,或许我们不用总写if(XX!=null)。有点类似三元运算符”?:”,如果”??”前面一个数(第一个数必需为可空或引用类型)不是null,则表达式的值就为第一个操作数的值,如果第一个操作数为Null,表达式的值则为第二个表达式的值。

如:

复制代码 代码如下:

int? a= null;
int defaut = 1010;
int b;
b=a??defaut;//此时b取defaut的值
a = 8;
b=a??defaut;//此时b取a的值

当然,这里第二个数应该是与第一个数类型相同或者能隐式转化为第一个数的。

PS:无法创建基于引用类型的可空类型,因为引用类型已支持 null 值。

相关文章

  • C#获取Description特性的扩展类详解

    C#获取Description特性的扩展类详解

    这篇文章主要和大家详细介绍一下C#获取Description特性的扩展类,文中的示例代码讲解详细,对我们学习有一定的帮助,需要的可以参考一下
    2022-06-06
  • C#微信公众号开发之自定义菜单

    C#微信公众号开发之自定义菜单

    这篇文章介绍了C#微信公众号开发之自定义菜单,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#中的lock、Monitor、Mutex学习笔记

    C#中的lock、Monitor、Mutex学习笔记

    这篇文章主要介绍了C#中的lock、Monitor、Mutex学习笔记,本文讲解的都是线程同步的一些知识,需要的朋友可以参考下
    2015-01-01
  • C#中数据的传递以及ToolStripProgressBar

    C#中数据的传递以及ToolStripProgressBar

    本文主要介绍了C#的数据传递方法以及ToolStripProgressBar进度条的使用。希望对大家有所帮助,话不多说,请看下面代码
    2016-11-11
  • VisualStudio2019安装C#环境的实现方法

    VisualStudio2019安装C#环境的实现方法

    这篇文章主要介绍了VisualStudio2019安装C#环境的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 基于WPF编写有趣的久坐提醒桌面小程序

    基于WPF编写有趣的久坐提醒桌面小程序

    这篇文章主要为大家详细介绍了如何基于WPF编写一个有趣的久坐提醒桌面小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以动手尝试一下
    2023-08-08
  • C#实现两个richtextbox控件滚动条同步滚动的简单方法

    C#实现两个richtextbox控件滚动条同步滚动的简单方法

    这篇文章主要给大家介绍了C#实现两个richtextbox控件滚动条同步滚动的简单方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • C#实现字母与ASCII码互相转换

    C#实现字母与ASCII码互相转换

    ASCII是基于拉丁字母的编码系统,也是现今最通用的单字节编码系统,本文主要为大家详细介绍了如何使用C#实现字母与ASCII码互转,需要的可以参考下
    2024-01-01
  • C#冒泡法排序算法实例分析

    C#冒泡法排序算法实例分析

    这篇文章主要介绍了C#冒泡法排序算法,结合两个常用实例分析了C#冒泡排序算法的相关实现技巧,需要的朋友可以参考下
    2015-07-07
  • C#串口通信模块使用方法示例

    C#串口通信模块使用方法示例

    这篇文章主要介绍了C#串口通信模块使用方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06

最新评论