如何在运算符中没有其他条件的情况下写一行if条件?
示例:
If(count == 0){count = 2; }
我们如何像下面这样写:
count = count == 0?2;
如果没有其他条件,则为三元运算符。我想在没有操作员的情况下进行操作。 C#中有可用的运算符吗?
谢谢。
答案 0 :(得分:4)
您不需要将else
与if
配对;您可以单独使用它:
if (count == 0)
count = 2;
如果语法不符合您的喜好,可以用多种方式编写:
if (count == 0) count = 2;
if (count == 0) { count = 2; }
if (count == 0) {
count = 2;
}
if (count == 0)
{
count = 2;
}
正如另一位发帖人所指出的那样,您可以将可为空的int初始化为null
,以与null合并运算符进行二进制交互:
int? count = null; // initialization
// ... later
count = count ?? 2;
答案 1 :(得分:2)
count = count == 0 ? 2 : count;
或更有趣的是:
using System;
public class Program
{
public static void Main()
{
foreach(int x in System.Linq.Enumerable.Range(-5, 10))
{
int count = x;
bool y = count == 0 && (0 == count++ - count++);
Console.WriteLine(count);
}
}
}