c# - 为什么不能在if语句中写Console.Writeline()?

标签 c# c

为什么我们不能在 C# 中的 if 条件中编写 Console.Writeline()?但是我们可以写 printf() if 条件 C 中的语句?

最佳答案

在 C 中,printf 的返回类型是 int - 写入的字符数。

同样在 C 中,if 条件基本上可以是任何非空数据类型。

与 C# 和 .NET 相比,Console.WriteLine 的返回类型为 voidif 语句中的条件必须 具有bool 类型(或可隐式转换为bool)。 (所以即使 Console.WriteLine 返回 int,你仍然需要类似 if (Console.WriteLine(...) != 0) 以使其有效。)

您希望条件实际检查什么?如果 Console.WriteLine 由于某种原因失败,它无论如何都会抛出异常...

关于c# - 为什么不能在if语句中写Console.Writeline()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28341147/

相关文章:

c++ - long long是8个字节,什么意思?

c - 寻找垃圾值(value)的来源

c - 空间作为标记对二元或一元运算符评估的影响

c# - 永久服务 "Starting"状态

c# - 如何通过 WCF 传递 System.Drawing.Rectangle?

c - "Hello World"失败 语法错误 : word unexpected (expecting ")")

c - 使用 fscanf 从文件读取并保存到 struct c 语言的数组中

c# - 如何在 lambda 表达式中传递 ref 参数? - 线程问题

C#,Html Agility,选择 div 标签中的每个段落

c# - 泛型 - 返回不同类型的对象