没有 else 子句的单行 If 条件

Him*_*wat -7 c# conditional if-statement conditional-operator assignment-operator

我们如何在运算符中编写没有 else 的单行 If 条件?

例子:

如果(计数== 0){计数= 2; }

我们怎么能像下面这样写:

计数=计数==0?2;

由于三元运算符需要 if else 条件。我想在没有 ternery 运算符的情况下做到这一点。C#中是否有可用的运算符?

谢谢。

The*_*le1 5

你并不需要对elseif; 您可以单独使用它:

if (count == 0)
        count = 2;
Run Code Online (Sandbox Code Playgroud)

如果语法不符合您的喜好,可以用多种方式编写:

if (count == 0) count = 2;

if (count == 0) { count = 2; }

if (count == 0) {
    count = 2;
}

if (count == 0)
{
    count = 2;
}
Run Code Online (Sandbox Code Playgroud)

正如另一位海报指出的那样,您可以使用带初始化的可空 int 来null与空合并运算符进行二进制交互:

int? count = null; // initialization

// ... later

count = count ?? 2;
Run Code Online (Sandbox Code Playgroud)