记录:有趣的C#多元运算符 ? : 表达式写法

有时候用

if

//...What're you she wanna go

else if

//...do do do

else

//...and i know something just like this...

感觉代码太多了怎么优雅的、高端的替换?

看个高端的栗子菊:

cs 复制代码
LedCOM["parity"] = ledData[4] == "N" ? "None" : (ledData[4] == "O" ? "Odd" : (ledData[4] == "E" ? "Even" : "error"));

一行太多不够看,咱就换个行吧

cs 复制代码
LedCOM["parity"] = 
ledData[4] == "N" ? "None"
: (ledData[4] == "O" ? "Odd"
: (ledData[4] == "E" ? "Even" : "error"));

看上面的代码好像很牛逼的样子,其实这段代码可以替换如下:

(1)长得丑的胖梨

cs 复制代码
if (ledData[4] == "N")
{
    LedCOM["parity"] = "None";
}
else
{
    if (ledData[4] == "O")
    {
        LedCOM["parity"] = "Odd";
    }
    else
    {
        if (ledData[4] == "E")
        {
            LedCOM["parity"] = "Even";
        }
        else
        {
            LedCOM["parity"] = "error";
        }
    }
}

(2)身材苗条匀称一般般的

cs 复制代码
if (ledData[4] == "N")
{
    LedCOM["parity"] = "None";
}
else if (ledData[4] == "O")
{
    LedCOM["parity"] = "Odd";
}
else if (ledData[4] == "E")
{
    LedCOM["parity"] = "Even";
}
else
{
    LedCOM["parity"] = "error";
}

(3)漂亮优雅有气质的大漂亮

cs 复制代码
switch (ledData[4])
{
    case "N": LedCOM["parity"] = "None"; break;
    case "O": LedCOM["parity"] = "Odd"; break;
    case "E": LedCOM["parity"] = "Even"; break;
    default: LedCOM["parity"] = "error"; break;
}

(4)穿越回到过去,且看这高贵冷艳、清新脱俗、优雅、不可方物的妖女迷行

cs 复制代码
LedCOM["parity"] = ledData[4] == "N" ? "None" : (ledData[4] == "O" ? "Odd" : (ledData[4] == "E" ? "Even" : "error"));
相关推荐
kylezhao20191 小时前
C#序列化与反序列化详细讲解与应用
c#
JQLvopkk1 小时前
C# 实践AI :Visual Studio + VSCode 组合方案
人工智能·c#·visual studio
故事不长丨1 小时前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
kingwebo'sZone1 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
大空大地20262 小时前
表达式与运算符
c#
向上的车轮3 小时前
为什么.NET(C#)转 Java 开发时常常在“吐槽”Java:checked exception
java·c#·.net
心疼你的一切4 小时前
Unity异步编程神器:Unitask库深度解析(功能+实战案例+API全指南)
深度学习·unity·c#·游戏引擎·unitask
.房东的猫15 小时前
ERP(金蝶云星空)开发【安装篇】
c#
fie88891 天前
基于C#的推箱子小游戏实现
开发语言·c#
.房东的猫1 天前
ERP(金蝶云星空)开发【业务数据中心创建和注册】
c#