C#/Xamarin错误?布尔型
本文关键字:布尔型 错误 Xamarin | 更新日期: 2023-09-27 18:26:29
这很奇怪。我有这个C#代码:
bool value = (((Literal)expr.left).value == ((Literal)expr.right).value);
当我用Xamarin调试器检查它时,它"告诉"我value
是false
,但(((Literal)expr.left).value == ((Literal)expr.right).value)
是true
。为什么?我很困惑。。。
找到了。((Literal)expr.left).value
是object
,这意味着它总是返回false,除非右和左是相同的布尔,而不是。
将它们都选为bool将比较它们的值。
bool value = ((bool)((Literal)expr.left).value == (bool)((Literal)expr.right).value);