如何使双问号适用于一般作业
本文关键字:作业 适用于 何使双 | 更新日期: 2023-09-27 17:59:27
在c#中有一个条件运算符表达式。
var a = b ? c : d;
还有一个空合并运算符:
var a = b ?? c;
但是空合并运算符??只适用于检查b是否为null。我相信每个人都会写很多代码,根据一些条件将"a"值重新分配给:
var a=whatever;
if(true)
a = b;
如果我可以使用一行代码,我永远不会使用两行,为了使它们在一行中,我必须这样做:
a = b ? a : c;
我一直在想我是否能在c#中找到这样的东西:
a = b ??? c;
if b is true
a = c;
else
a is still a;
没有这样的运算符,也不支持向C#添加运算符(只重载某些运算符)。我推荐:
if (b)
a = c;
它清晰、简洁、简单。如果你的指导方针不禁止单行if
语句,它甚至可能是单行:
if (b) a = c;
当然,如果你的指导方针说总是在自己的行上包含大括号,那可能是4行。
if (b)
{
a = c;
}