提问人:Himmat Singh Dulawat 提问时间:4/25/2019 最后编辑:Lance U. MatthewsHimmat Singh Dulawat 更新时间:4/25/2019 访问量:11227
单行 If 条件 without else 子句 [duplicate]
Single line If condition without else clause [duplicate]
问:
如何在运算符中没有 else 的情况下写一行 If 条件?
例:
如果(count==0) { count=2;
我们怎么能像下面这样写上面:
count=计数==0?2;
作为三元运算符需要的 if else 条件。我想在没有三元运算符的情况下做到这一点。C# 中是否有任何运算符可用?
谢谢。
答:
3赞
Amy B
4/25/2019
#1
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);
}
}
}
评论
3赞
Derek Williams
4/25/2019
为什么不使用三元运算符?这绝对需要什么?
7赞
Maximilian Burszley
4/25/2019
#2
您不需要与 ;您可以单独使用它: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;
}
正如另一张海报所指出的,您可以使用可为 null 的 int 进行初始化,以便与 null 合并运算符进行二进制交互:null
int? count = null; // initialization
// ... later
count = count ?? 2;
评论
if
if (count==0) { count=2; }
if
else