运营商'>'不能应用于'bool'和'bool'类型的操作数

时间:2015-07-20 20:21:27

标签: c# boolean operator-keyword

我反向设计了这个应用程序,我丢失了源代码,并且在构建应用程序时无法解决此错误。

错误:"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

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:3)

您的错误消息说明了一切

  

运营商'>'不能应用于' bool'类型的操作数和' 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,则此代码将保留所选索引,并将其设置为0以用于任何其他值。

答案 1 :(得分:0)

使用此:

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