bool真假或负面回报

时间:2010-06-11 14:02:06

标签: programming-languages

返回bool(true或false)和返回负值

之间的区别是什么

9 个答案:

答案 0 :(得分:4)

一个是二进制(成功或失败)另一个是离散值,可用于错误代码。我所做的通常是错误的负值,0表示成功,正值表示警告。

答案 1 :(得分:0)

这取决于您使用的返回值。

答案 2 :(得分:0)

通常在描述流程成功或失败时使用布尔值。

“成功”(返回true)或“失败”(返回false)。

某些函数(像socket()这样的juste)返回一个“套接字描述符”,这是一个正值。在这种情况下,报告出现问题的一种方法是返回无效范围值,从而返回负值。

然而,请记住,这不是绝对的事实。一个开发人员可能决定返回错误的正值,并返回0表示成功。 (就像程序退出状态一样)。

了解返回值意味着什么的唯一方法是阅读文档

答案 3 :(得分:0)

有时您希望方法根据方法是否成功执行某些代码来返回true / false。

但是,您可能需要有关方法失败原因的更多详细信息,但不能抛出异常(例如,该语言没有异常)。在这种情况下,您可以返回一个整数值作为一种错误代码。

答案 4 :(得分:0)

您正在返回一个可以有两个可能输出的类型的值。

另一个你返回一个类型的值,它可以有更多可能的输出。

顺便说一句,在大多数编程语言中,0被认为是假的,其他一切都被认为是真的。我认为你认为在大多数语言中任何否定都会被认为是错误的。

您可能希望返回许多不同的负数,例如针对不同的错误代码。或者您可能只有一个通过/失败标准。您可以使用布尔或整数返回类型,具体取决于您拥有的场景。

答案 5 :(得分:0)

  • 使用布尔返回值 方法只返回是/否。
  • 需要注明时使用数字 别的东西除了 成功完成。

答案 6 :(得分:0)

如果你需要一个bool结果,如果你需要一个整数,返回一个bool(卡车),返回一个整数(苹果)。 例如,在javascript中你可以做到

var ret = 0;
if (ret){//is ret true?
  alert('Never gets here');
}

if (!ret){//is ret false?
  alert('I will popup');
}

但是如果你真的需要测试一个布尔值,你必须这样做:

var ret = 0;
if (ret === true){//if it is true AND boolean
  alert('Never gets here');
}

var ret = false;
if (ret === false){//if it is false AND boolean
  alert('I will popup');
}

答案 7 :(得分:0)

如果您需要两个以上的返回码(true / false),则必须返回一个整数。在C ++中,有一个BOOL的typedef到int意味着你可以使用BOOL作为返回类型,返回值使用TRUE和FALSE,如果你愿意,可以使用-1表示错误。 BOOL,TRUE和FALSE的typedef只是为了提高代码的可读性,但它只是返回一个int。

答案 8 :(得分:0)

您可能更喜欢使用“out”参数,例如:

public bool MyFunction(object input, out int status) {...}

因此,您可以在函数成功/失败时使用true或false,并为任何其他有关所发生事件的信息设置staus变量。