当前位置: 首页 > 编程笔记 >

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

穆季萌
2023-03-14
本文向大家介绍C# null 合并运算符??(双问号)使用示例,包括了C# 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++ 运算符 使用逗号运算符的为了把几个表达式串在一起。整个逗号表达式的值是以逗号分隔的列表中的最后一个表达式的值。从本质上讲,逗号的作用是导致一系列运算被顺序执行。 最右边的那个表达式的值将作为整个逗号表达式的值,其他表达式的值会被丢弃。例如: var = (count=19, incr=10, count+1); 在这里,首先把 count 赋值为 19,把 incr 赋值为 10,然后

  • 问题内容: PHP中是否存在像C#一样的三元运算符? 在C#中更干净,更短,但是在PHP中,您必须执行以下操作: 问题答案: PHP 7添加了空合并运算符: 您还可以看一下编写PHP三元运算符?的简短方法:(仅PHP> = 5.3) 而且您与C#的比较是不公平的。“在PHP中,您必须做类似的事情”-在C#中,如果您尝试访问不存在的数组/字典项,那么还将出现运行时错误。

  • 主要内容:RxJava 合并运算符 介绍,RxJava 合并运算符 示例RxJava 合并运算符 介绍 以下是用于从多个 Observable 创建单个 Observable 的运算符。 运算符 描述 And/Then/When 使用模式和计划中介组合项目集。 CombineLatest 通过指定的函数组合每个 Observable 发出的最新项并发出结果项。 Join 如果在第二个 Observable 发射项目的时间范围内发送,则组合两个 Observable 发

  • 本文向大家介绍c异或运算 c异或运算符号,包括了c异或运算 c异或运算符号的使用技巧和注意事项,需要的朋友参考一下 与运算:& 两者都为1为1,否则为0 1&1=1,  1&0=0,  0&1=0,  0&0=0 或运算:| 两者都为0为0,否则为1 1|1 = 1,  1|0 = 1,  0|1 = 1, 0|0 = 0 非运算:~ 1取0,0取1 ~1 = 0, ~0 = 1 ~(10001)

  • 问题内容: 如您所知,有一个功能快捷方式的建议,因此您可以编写: 它将在es5中像这样工作: 我的问题是:是否可以通过这种方式传递参数? 我的意思是用上述快捷方式编写此代码的方法: 这是React中很常见的模式,因此最好将其缩短一点。 问题答案: 否。bind运算符(规范建议)有两种形式: 方法提取 “虚拟方法”调用 obj::function(…) ≡ function.call(obj, …)

  • 刚刚在java中尝试了一些东西,发现了以下问题。 以下是我的代码。 父接口: 子接口: 实施1: 实施2: 主要方法: 我不确定我做错了什么,我在本地机器中安装了JDK 13并使用IntelliJ 2019.3和JDK 11。我检查了IntelliJ是否支持JDK 13 谢谢 错误更新我在那里留下了一个分号,删除了它,请再次检查。