我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#中?、?.、??、??=运算符的用法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#中?、?.、??、??=运算符的用法

1. 可空类型修饰符 ?

// 引用类型能用空引用来表示一个不存在的值,但是值类型不能。例如:
string str = null;
int i = null;//编译报错

// 为了使值类型也能使用可空类型,
//    就可以使用“?”来表示,表现形式为“T?”。例如:
int i?;            //表示可空的类型
DataTime time?; //表示可空的时间

2. 空合并运算符 ??

// 用于定义引用类型和可空类型的默认值。
// 如果此运算符的左操作符不为Null,则此操作符返回左操作数,
//        否则返回右操作数。
// 当a不为空时返回a,为null时返回b
var c = a ?? b;

3. 非null时继续执行后续代码,运算符 ?.

// 不为null时执行后面的操作。例如:

// 以下两段代码等效 ,即Person.Name非null时才继续执行后续逻辑
Person.Name?.Person.Code;
Person.Name = Person == null ? null : Person.Code;

4. ??=

// C# 8.0 及更高版本中可使用空合并赋值运算符 ??=,
// 该运算符仅在左侧操作数的求值结果为 null 时,
// 才将其右侧操作数的值赋值给左操作数。 
// 如果左操作数的计算结果为非 null,
//         则 ??= 运算符不会计算其右操作数。

List<int> numbers = null;
int? i = null;
 
numbers??= new List<int>();
numbers.Add(i ??= 17);
numbers.Add(i ??= 20);
 
Console.WriteLine(string.Join("", numbers));//output:17 17
Console.WriteLine(i);//output 17

到此这篇关于C#中?、?.、??、??=运算符的用法的文章就介绍到这了,更多相关C# ? ?. ? ? ? ?=内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#中?、?.、??、??=运算符的用法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#中?、?.、??、??=运算符的用法

本文主要介绍了C#中?、?.、??、??=运算符的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-15

c++中运算符的使用方法

运算符是执行操作的特殊符号或关键字,有不同的类型和执行顺序,主要包括算术运算符用于数学运算,关系运算符用于比较,逻辑运算符用于处理布尔值,赋值运算符用于赋值,指针运算符用于处理指针,位运算符用于对二进制位执行操作,条件运算符用于根据条件结果
c++中运算符的使用方法
2024-04-22

c语言中运算符的用法

c 语言运算符用于执行变量和常量的操作,包括算术(如加减乘除)、关系(如等于大于)、逻辑(如与或非)和位操作符(如左移右移)。不同类型的运算符具有不同的优先级,当多个运算符出现在同一表达式中时,优先级较高的运算符先执行。C 语言运算符的用法
c语言中运算符的用法
2024-04-29

c++中new运算符的作用

new 运算符用于在运行时从堆中动态分配内存并创建对象,返回一个指向新创建对象的内存地址的指针,特点包括延迟对象创建、可变大小分配、在堆上分配和需要手动释放内存。C++ 中 new 运算符的作用答:new 运算符用于在运行时动态分配内存并
c++中new运算符的作用
2024-04-28

C#中??运算符怎么用

小编给大家分享一下C#中??运算符怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C#??运算符可能是一个被遗忘的运算符,很少看到有人用它,它的用法很简单却很
2023-06-17

python中@运算符的用法

小编给大家分享一下python中@运算符的用法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在看fastai的代码时,看到这么一段:n=100x = torch.
2023-06-15

C#中的位运算符怎么用

本文小编为大家详细介绍“C#中的位运算符怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中的位运算符怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实例请看下面的实例,了解 C# 中所有可用的位运算
2023-06-17

javascript中&&运算符与||运算符的使用方法

本篇文章为大家展示了javascript中&&运算符与||运算符的使用方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言在前端开发领域中,&&运算符和||运算符是使用率和频繁度比较高的。&&运算
2023-06-25

C#的sizeof运算符和三元运算符怎么用

本文小编为大家详细介绍“C#的sizeof运算符和三元运算符怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#的sizeof运算符和三元运算符怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实例usi
2023-06-17

C++中运算符有什么用

小编给大家分享一下C++中运算符有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 算术运算符2. 赋值运算符3. 比较运算符4. 逻辑运算符以上是“C+
2023-06-25

C#中?、?.、??、??=运算符怎么使用

本文小编为大家详细介绍“C#中?、?.、??、??=运算符怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中?、?.、??、??=运算符怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. 可空
2023-07-06

C++的运算符怎么用

这篇文章将为大家详细讲解有关C++的运算符怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。运算符作用:用于执行代码的运算运算符类型作用算术运算符用于处理四则运算赋值运算符用于将表达式的值赋给变量比较运
2023-06-25

C#的算术运算符怎么用

这篇文章主要介绍“C#的算术运算符怎么用”,在日常操作中,相信很多人在C#的算术运算符怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#的算术运算符怎么用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧
2023-06-17

C#中的赋值运算符怎么用

这篇文章主要介绍“C#中的赋值运算符怎么用”,在日常操作中,相信很多人在C#中的赋值运算符怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#中的赋值运算符怎么用”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-17

c++中除法运算符和divide区别

c++中除法运算符(/)执行算术除法,结果为整型商,若除数为0则抛出异常;而divide (/)执行浮点除法,结果为浮点型商,若除数为0则返回无穷大,优先级低于除法运算符。因此,整数除法使用除法运算符,浮点除法使用divide。C++中除法
c++中除法运算符和divide区别
2024-05-12

灵活运用Golang中的除法运算符

标题:灵活运用Golang中的除法运算符在Golang编程中,除法运算符是我们经常会用到的一个运算符之一。除法运算符有它的一些特点和用法,灵活运用除法运算符能够帮助我们更高效地处理数据和逻辑。本文将通过具体的代码示例,介绍在Golang中
灵活运用Golang中的除法运算符
2024-03-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录