条件运算符

作者: Lewis Jackson
创建日期: 8 可能 2021
更新日期: 24 六月 2024
Anonim
零基础Java教程27期 分析嵌套条件运算符,实战三元运算
视频: 零基础Java教程27期 分析嵌套条件运算符,实战三元运算

内容

定义-条件运算符是什么意思?

C#中的条件运算符是采用三个操作数(要检查的条件)的运算符,条件条件为true时的值,条件为false时的值。

条件运算符由符号?:表示。第一个操作数(在?:之前指定)是求值(条件)表达式。必须这样,才能将评估表达式的类型隐式转换为bool或实现operator true以避免编译错误。第二和第三操作数控制条件表达式的类型。它更常用于赋值,而不是用作产生编译错误的语句。

如果第一个操作数(条件表达式)的返回值为true,则对第二个操作数进行求值。否则,将评估第三个操作数。因此,条件运算符的结果是对要进行评估的表达式的评估结果。

对于以x?a:b表示的表达式,如果只有操作数x(条件表达式)返回true,则将对操作数a求值。否则,将评估操作数b。

此术语也称为三元运算符或内联if(iif)。


Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。

Techopedia解释了条件运算符

条件运算符是C#中唯一的三元运算符(采用三个操作数)。它是if-else构造的替代形式,该构造提供了更好的简洁性,更少的代码和更好的可读性。在编译期间,C#编译器将三元表达式转换为分支语句,从而可以压缩多个if语句并减少源代码级别的嵌套。有时,为三元运算符生成的代码可以通过对某些指令进行重新排序来提高性能。

条件运算符的属性是:

  • 它是右关联的,表示操作从右到左分组。
  • 它总是对条件运算符后指定的两个表达式之一求值。它永远不会同时评估两者。
  • 第一个操作数必须是整数或指针类型。
  • 第二和第三操作数必须可以相互转换,而不能相互转换为其他类型。
  • 结果的类型是通用类型,它是一个l值,但前提是第二个操作数和第三个操作数都属于同一类型并且都是l值。
  • 只能将赋值调用,递增,递减和新对象表达式用作语句。
  • 在方法return语句中使用使用三元运算符的表达式的求值结果时,其类型应与包围方法的返回类型匹配,以成功进行编译。
  • 当结果不是常数时,条件表达式的类型基于两种类型中最常见的一种。
这个定义是用C#编写的