记录:有趣的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"));
相关推荐
呆子也有梦29 分钟前
redis 的延时双删、双重检查锁定在游戏服务端的使用(伪代码为C#)
redis·后端·游戏·缓存·c#
xyyaihxl2 小时前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
第二只羽毛2 小时前
C++ 高并发内存池2
大数据·开发语言·jvm·c++·c#
William_cl4 小时前
[特殊字符]C# ASP.NET Core 前后端分离终极实战:JWT 身份认证与授权全流程(登录 + 鉴权 + 避坑)
c#·asp.net·状态模式
weixin_5375904514 小时前
《C程序设计语言》练习答案(练习1-13)
c语言·开发语言·c#
a177988771215 小时前
小程序上传图像失败
小程序·c#
JosieBook16 小时前
【C#】C# 所有关键字总结
开发语言·算法·c#
我是唐青枫16 小时前
C#.NET ConcurrentStack<T> 深入解析:无锁栈原理、LIFO 语义与使用边界
网络·c#·.net
黑棠会长17 小时前
ABP框架09.数据安全与合规:审计日志与实体变更追踪
分布式·安全·架构·c#·abp
JMchen12317 小时前
Android NDK开发从入门到实战:解锁应用性能的终极武器
android·开发语言·c++·python·c#·android studio·ndk开发