记录:有趣的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"));
相关推荐
程序猿小D2 小时前
第22节 Node.js JXcore 打包
开发语言·人工智能·vscode·node.js·c#
飞由于度3 小时前
C#中清空DataGridView的方法
开发语言·c#
大熊程序猿4 小时前
《开篇:课程目录》
前端·c#
周杰伦fans4 小时前
C#中用于控制自定义特性(Attribute)
后端·c#
nuclear20116 小时前
使用 C# 将 Word、Excel、PDF 和 PPT文档转换为 Markdown 格式
c#·word转markdown·pdf转markdown·excel转markdown·ppt转markdown·doc转markdown·docx转markdown
深圳视觉软件JJ7 小时前
wpf在image控件上快速显示内存图像
c#
henreash11 小时前
C# dll版本冲突解决方案
开发语言·c#
阿蒙Amon13 小时前
C#封装HttpClient:HTTP请求处理最佳实践
开发语言·http·c#
ghost14316 小时前
C#学习第29天:表达式树(Expression Trees)
开发语言·c#