记录:有趣的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"));
相关推荐
格林威1 小时前
工业相机图像采集:Grab Timeout 设置建议——拒绝“假死”与“丢帧”的黄金法则
开发语言·人工智能·数码相机·计算机视觉·c#·机器视觉·工业相机
唐青枫1 小时前
C#.NET SignalR + Redis Backplane 深入解析:多节点部署与跨实例消息同步
c#·.net
FL162386312914 小时前
[C#][winform]segment-anything分割万物部署onnx模型一键抠图演示
开发语言·c#
love530love16 小时前
OpenClaw 手机直连配置全流程
人工智能·windows·python·智能手机·c#·agent·openclaw
bcbobo21cn17 小时前
C# byte类型和byte数组的使用
开发语言·c#·字节数组·byte类型
月巴月巴白勺合鸟月半19 小时前
一次PDF文件的处理(一)
pdf·c#
大鹏说大话20 小时前
Java 锁膨胀机制深度解析:从偏向锁到重量级锁的进化之路
开发语言·c#
武藤一雄1 天前
WPF处理耗时操作的7种方法
microsoft·c#·.net·wpf
武藤一雄1 天前
C#常见面试题100问 (第一弹)
windows·microsoft·面试·c#·.net·.netcore
l1t1 天前
DeepSeek总结的用 C# 构建 DuckDB 插件说明
前端·数据库·c#·插件·duckdb