运算符“>”不能应用于 'bool' 和 'bool' 类型的操作数

Operator '>' cannot be applied to operands of type 'bool' and 'bool'

我对这个应用程序进行了逆向工程,我丢失了源代码并且无法克服构建应用程序时抛出的这个错误。

错误:"Operator '>' cannot be applied to operands of type 'bool' and 'bool' "

在线

this.ListBox1.SelectedIndex = ((-(((this.ListBox1.SelectedIndex == 1) > false) ? 1 : 0)) ? 1 : 0);

在哪里

this.ListBox1.SelectedIndex == 1) > false

如有任何帮助,我们将不胜感激。谢谢!

你的错误信息说明了一切

Operator '>' cannot be applied to operands of type 'bool' and 'bool'

C# 中没有布尔值顺序的概念。两个布尔值要么相等,要么不相等。

如果你想得到

this.ListBox1.SelectedIndex == 1

不是真的,而是使用

this.ListBox1.SelectedIndex != 1

例如

this.ListBox1.SelectedIndex = (this.ListBox1.SelectedIndex != 1) ? 0 : 1;

或等同于可能更容易阅读

this.ListBox1.SelectedIndex = (this.ListBox1.SelectedIndex == 1) ? 1 : 0;

如果所选索引已经是 1,此代码会将其保留为 1,对于任何其他值会将其设置为 0。

使用这个:

((this.ListBox1.SelectedIndex == 1) != false)