我正在制作人类到动物年的转换器.
我的代码:
if (comboBox2.SelectedIndex == 1 || 2)
{
comboBox3.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
运营商'||' 不能应用于'bool'和'int'类型的操作数
问题:您的if情况,您认为可以解决:
comboBox2.SelectedIndex == 1 || comboBox2.SelectedIndex == 2
Run Code Online (Sandbox Code Playgroud)
实际上解决了:
(comboBox2.SelectedIndex == 1) || (2)
Run Code Online (Sandbox Code Playgroud)
原因:等于运算符(==)的优先级高于条件OR运算符(||).
更多信息: MSDN:C#运营商优先级和关联性
第一部分(comboBox2.SelectedIndex == 1) || (2)返回类型的值,bool而第二部分返回类型int.
因此错误:
运营商'||' 不能应用于'bool'和'int'类型的操作数
解决方案:您应明确说明条件:
comboBox2.SelectedIndex == 1 || comboBox2.SelectedIndex == 2
Run Code Online (Sandbox Code Playgroud)
小智 6
你不能像这样使用上面的表达式
if (comboBox2.SelectedIndex == 1 || 2)
{
comboBox3.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)
您必须以下列方式使用它:
if (comboBox2.SelectedIndex == 1 || comboBox2.SelectedIndex == 2 )
{
comboBox3.Visible = true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
993 次 |
| 最近记录: |