记录:有趣的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"));
相关推荐
张人玉41 分钟前
WPF 控件速查 PDF 笔记(可直接落地版)(带图片)
大数据·microsoft·ui·c#·wpf
葛小白12 小时前
Winform控件:Combobox
前端·ui·c#·combobox
张人玉2 小时前
WPF 数据绑定详解
windows·c#·wpf
唐青枫3 小时前
C#.NET DbContext 池化机制深入解析:提升 EF Core 性能的关键
c#·.net
张人玉7 小时前
如何使用Advanced Installer打包C#程序生成安装程序
c#·打包·advanced·installer
葛小白18 小时前
C#数据类型:string简单使用
服务器·数据库·c#
曹牧13 小时前
C# 中的 DateTime.Now.ToString() 方法支持多种预定义的格式字符
前端·c#
歪歪10013 小时前
C#如何在数据可视化工具中进行数据筛选?
开发语言·前端·信息可视化·前端框架·c#·visual studio
爱吃小胖橘14 小时前
高效对象池设计:提升Unity性能的关键
开发语言·unity·c#·游戏引擎
李宥小哥18 小时前
Socket详解
c#