C# null 合并运算符??(双问号)使用示例

 更新时间:2014年06月21日 09:43:24   投稿:junjie  
这篇文章主要介绍了C# null 合并运算符??(双问号)使用示例,?? 运算符称作 null 合并运算符。如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数,需要的朋友可以参考下

??是一个二元运算符,如果左操作数非空,则返回左操作数,否则返回右操作数,所以,在一些特定的场合可以用它来代替?:运算符,简化代码书写。

例1:

复制代码 代码如下:
int length = Request.QueryString["l"] != null ? int.Parse(Request.QueryString["l"]) : 0;

使用??运算符:

复制代码 代码如下:
int length = int.Parse(Request.QueryString["l"] ?? "0");

例2:

复制代码 代码如下:

int? m = null;
int n = m == null ? (int)m : 0;

使用??运算符:

复制代码 代码如下:

int? m = null;
int n = m ?? 0;

参考资料:

[1].?? 运算符(C# 参考):http://msdn.microsoft.com/zh-cn/library/ms173224(v=vs.80).aspx

相关文章

  • c#多线程编程基础

    c#多线程编程基础

    线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程,本文使用示例介绍一下多线程的使用方法
    2014-02-02
  • WPF自定义实现IP地址输入控件

    WPF自定义实现IP地址输入控件

    这篇文章主要给大家介绍了关于WPF自定义实现IP地址输入控件的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用WPF具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • C#中括号强转、as、is区别详解

    C#中括号强转、as、is区别详解

    本文主要介绍了C#中括号强转、as、is区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • C#动态执行字符串(动态创建代码)的实例代码

    C#动态执行字符串(动态创建代码)的实例代码

    在编写C#程序的时候,有时我们需要动态生成一些代码并执行。然而C#不像JavaScript有一个Eval函数,可以动态的执行代码。所有这些功能都要我们自己去完成
    2013-03-03
  • C#基于Socket套接字的网络通信封装

    C#基于Socket套接字的网络通信封装

    这篇文章主要为大家详细介绍了C#基于Socket套接字的网络通信封装本文实例为大家分享了Java实现图片旋转的具体代码,供大家参考,具体内容如下
    2021-11-11
  • c# 代理模式

    c# 代理模式

    代理模式:为其他对象提供一种代理以控制其他对象的访问
    2012-10-10
  • C#12中的Primary Constructors主构造函数详解

    C#12中的Primary Constructors主构造函数详解

    主构造函数把参数添加到class与record的类声明中就是主构造函数,这篇文章主要介绍了C#12中的Primary Constructors 主构造函数,需要的朋友可以参考下
    2023-11-11
  • C# 创建,读取,写入XML文件

    C# 创建,读取,写入XML文件

    本篇文章主要介绍了C# 创建,读取,写入XML文件的方法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • c#中使用自动属性减少代码输入量

    c#中使用自动属性减少代码输入量

    .Net 3.0中的自动属性可以大幅度降低我们输入的代码量,需要的朋友可以参考下
    2012-12-12
  • winform关闭窗体FormClosing事件用法介绍

    winform关闭窗体FormClosing事件用法介绍

    这篇文章介绍了winform关闭窗体FormClosing事件的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论