C#null运算符

null运算符.jpeg

null运算符

==C#提供了三个简化null处理的运算符==

  • null合并运算符
  • null合并赋值运算符
  • null条件运算符

null合并运算符

合并运算符写作??。意思是如果左侧操作数不是null,则结果为操作数,否则结果为另一个值。合并运算适用于可空值类型

  • 示例
string s1 = null;
string s2 = s1 ?? "nothing";   // s2 evaluates to "nothing"

s2.Dump();

null合并赋值运算符

合并赋值运算符写作 ==??===。含义是如果左侧操作数为null,则将右侧的操作数赋值给左侧的操作数

  • 示例
string s1 = null;
s1 ??= "something";
Console.WriteLine (s1);  // something

s1 ??= "everything";
Console.WriteLine (s1);  // something

null条件运算符

==?.== 运算符称为null条件运算符或者Elvis运算符。当运算符左侧为null时候,该表达式运算结果也是null,而不会抛出NullReferenceException

  • 示例
System.Text.StringBuilder sb = null;
string s = sb?.ToString();   // No error; s instead evaluates to null
s.Dump();

string s2 = sb?.ToString().ToUpper();   // s evaluates to null without error
s2.Dump();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 运算符 C#中支持的运算符 类别运算符算数运算符+ - * / %逻辑运算符& | ^ && || !字符串连接运...
    余百777阅读 3,573评论 0 0
  • 上链接:运算符[https://developer.mozilla.org/zh-CN/docs/Web/Java...
    记录经历阅读 3,165评论 0 1
  • 你在阅读其他人的代码的时候,有没有遇见一些奇怪的写法,让你的思路瞬间卡住,等你回过神来便不明觉厉,某位大侠曾经来过...
    前端技术驿站阅读 3,280评论 0 3
  • 或许你在阅读别人代码时候会遇到以下运算符,总有一种似曾相识的感觉,但又说不清楚它的具体使用方法。今天我们就来一一说...
    淡淡烟草味阅读 2,844评论 0 1
  • 箭头运算符(=>) 从技术上讲,它不是运算符,但是在箭头功能中使用了这种字符组合。 箭头函数是编写函数定义的另一种...
    lio_zero阅读 2,047评论 0 4