C# 操作符之三元操作符浅析

 更新时间:2011年02月19日 09:40:02   作者:  
C# 操作符之三元操作符“?:”是如何使用的呢?C# 操作符之三元操作符“?:”需要注意的是什么呢?那么本文就向你简单介绍C# 操作符之三元操作符“?:”的基本情况。

C# 操作符之三元操作符“?:”是什么呢?

C# 操作符之三元操作符“?:”有时也称为条件操作符。

对条件表达式b?x:y,先计算条件b,然后进行判断。

如果b的值为true,计算x的值,运算结果为x的值;否则,计算y,运算结果为y的值。

一个条件表达式从不会又计算x,也计算y。条件操作符是向右关联的,也就是说,从左向右分组计算。

C# 操作符之三元操作符“?:”操作实例:

表达式a?b:c?d:e将按a?b:(C?d:e)形式执行。

?:的第二和第三个操作数控制了条件表达式的类型。设x和y分别是第二个和第三个操作数的类型,那么:

●如果x和y为同一类型,则该类型即是条件表达式的类型。

●否则,如果从x到y存在一个隐式转换,但不存在y到x的转换,那么y是条件表达式的类型。

●否则,如果从y到x存在一个隐式转换,但不存在x到y的转换,那么x是条件表达式的类型。

●否则,没有定义任何表达式类型,发生编译时错误

C# 操作符之三元操作符“?:”的基本内容就向你介绍到这里,希望对你了解和学习C# 操作符之三元操作符“?:”有所帮助。

三元操作符也成为条件操作符,他显得比较特别,因为有三个操作数,但是他又确实属于操作符的一种
其形式为
boolean-exp?value0 :value1
如果boolean-exp表达式结果为true,就计算value0,而且这个计算结果也就是操作符最终产生的值。如果boolean-exp表达式结果为false,就计算value1,同样的,他的结果也将成为操作符最后的值。
当然它也可以被if-else代替,但是三元操作符与if-else是完全不同的,操作符会产生一个值。

复制代码 代码如下:

public class TernaryIfElse{
static int ternary(int i){
return i<10?i*100:i*10;
}
static int standardIfElse(int i){
if(i<10)
return i*100;
else
return i*10;
}
public static void main(String [] args){
System.out.println(ternary(9));
System.out.println(ternary(10));
System.out.println standardIfElse( (9));
System.out.println standardIfElse( (10));
}
}

输出
900
100
900
100
相比之下三元运算符要紧凑很多,而if-else更易理解

相关文章

  • 详解C#压缩、解压文件夹/文件(带密码)

    详解C#压缩、解压文件夹/文件(带密码)

    这篇文章主要给大家介绍了关于C#压缩、解压文件夹/文件(带密码)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • C#实现简单串口通讯实例

    C#实现简单串口通讯实例

    这篇文章主要为大家详细介绍了C#实现简单串口通讯的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C#读取目录下所有指定类型文件的方法

    C#读取目录下所有指定类型文件的方法

    这篇文章主要介绍了C#读取目录下所有指定类型文件的方法,可实现读取目录下特定后缀名文件的功能,需要的朋友可以参考下
    2015-06-06
  • c#封装百度web服务geocoding api 、百度坐标转换示例

    c#封装百度web服务geocoding api 、百度坐标转换示例

    这篇文章主要介绍了c#封装百度Web服务geocoding api 、百度坐标转换,需要的朋友可以参考下
    2014-04-04
  • 使用C#与SQL Server数据库进行交互的详细步骤

    使用C#与SQL Server数据库进行交互的详细步骤

    在C#中与数据库进行交互,通常使用ADO.NET(ActiveX Data Objects .NET)框架,ADO.NET是.NET Framework中用于数据访问的一组类库,它提供了多种用于连接和操作数据库的方法,以下是使用C#与SQL Server数据库进行交互的详细步骤,需要的朋友可以参考下
    2024-08-08
  • asp.net之生成验证码的方法集锦(一)

    asp.net之生成验证码的方法集锦(一)

    现在很多网站都有注册登录的页面,为了更好的满足用户体验和网站的安全性,很多网站都采用动态生成的图形码或者是附加码进行验证,这篇文章主要就是介绍生成验证码的方法,需要的朋友可以参考下
    2015-08-08
  • C#实现图像锐化的方法

    C#实现图像锐化的方法

    这篇文章主要介绍了C#实现图像锐化的方法,涉及C#操作图像的相关技巧,需要的朋友可以参考下
    2015-04-04
  • C#开发WinForm项目实现HTML编辑器

    C#开发WinForm项目实现HTML编辑器

    这篇文章介绍了C#开发WinForm项目实现HTML编辑器的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#三种方法获取文件的Content-Type(MIME Type)

    C#三种方法获取文件的Content-Type(MIME Type)

    这篇文章介绍了C#获取文件Content-Type(MIME Type)的三种方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • c#使用linq技术创建xml文件的小例子

    c#使用linq技术创建xml文件的小例子

    c#使用linq技术创建xml文件的小例子,需要的朋友可以参考一下
    2013-03-03

最新评论