布尔到整数转换

时间:2014-10-13 05:57:12

标签: c#

有没有办法在没有条件语句的情况下从bool转换为整数(例如if语句)?

int intValue = boolValue ? 1 : 0;

4 个答案:

答案 0 :(得分:2)

不,没有。您可以将此条件隐藏在其他方法调用(例如Convert.ToInt)之后,或者更喜欢与实际if不同的语法,但最后,在某个地方,会有条件。

答案 1 :(得分:0)

int intValue = Convert.ToInt32(boolValue));

答案 2 :(得分:0)

使用Convert.ToInt32(boolValue)

答案 3 :(得分:0)

尽管 nvoigt 的回答是完全正确的,但我可以再给你一些例子,只是为了好玩

NEVER!切勿使用此代码!它只是为了乐趣或与好友一起解决争执!)

首先,方法GetHashCode完成了魔术(作为实现细节):

bool b = true;
int i = b.GetHashCode();

如果你想要一些更深奥的方法......嗯..欢迎你):

bool b = true;
int i = ~(b.ToString()[0] / 2) & 1;

记住! NEVER!