在Console.WriteLine上使用三元运算符

时间:2013-11-28 06:14:20

标签: c# ternary-operator conditional-operator

我需要根据条件的真或假来打印一些字符串。

例如:

if(i == m) {
Console.WriteLine("Number is valid");
} else {
Console.WriteLine("Number is invalid");
}

如何检查此情况并使用条件运算符并且仅使用一个Console.WriteLine来打印消息?

我在尝试:

(i == m) ? Console.WriteLine("Number is valid") : Console.WriteLine("Number is not valid");

我知道我在这里做错了。有人可以告诉我正确的方法吗?

3 个答案:

答案 0 :(得分:8)

试试这个:

Console.WriteLine("Number is " + ((i == m) ? "valid" : "not valid"));

答案 1 :(得分:1)

WriteLine

中移动您的三元操作
Console.WriteLine((i == m) ? "Number is valid" : "Number is not valid");

答案 2 :(得分:1)

条件运算符是运算符。它返回一个值。它返回的值是其中一个分支的值。

Console.WriteLine是一种void方法。它不返回值。因此,您不能将其用作条件运算符的一个分支。

顺便说一句,这个运算符被正确地称为“条件运算符”。它碰巧是一个三元运算符,这意味着它是一个带三个参数的运算符。 ERE 它运行:

  1. 一元
  2. 二进制
  3. 三元
  4. 第四纪
  5. 目前C#中只有一个三元运算符 - 条件运算符。 恰好没有四元或更高阶的算子。