C# 营运商及;不能应用于C中类型为bool和byte的操作数#

C# 营运商及;不能应用于C中类型为bool和byte的操作数#,c#,C#,我试图在相同的条件下使用字符串和字节,但得到一个错误 运算符&不能应用于bool和byte类型的操作数 一元运算符&可以在布尔值上执行。 在本例中,左操作数是一个布尔值,而右操作数需要是一个同时返回布尔值的表达式: if( (m==mi) & expression_that_returns_boolean ){ } byte Active=0; if( (m==mi) & expression(Active) ) System.byte是一个关键字,用于声明一个变量,该变量可

我试图在相同的条件下使用字符串和字节,但得到一个错误

运算符&不能应用于bool和byte类型的操作数


一元运算符
&
可以在
布尔值上执行。
在本例中,左操作数是一个
布尔值
,而右操作数需要是一个同时返回
布尔值的表达式:

if( (m==mi) & expression_that_returns_boolean ){
}
byte Active=0;
if( (m==mi) & expression(Active) )
System.byte
是一个关键字,用于声明一个变量,该变量可以存储0到255之间的无符号值。

因此,您的
if
语句实际上变成:

if(布尔值和字节)

运算符&不能应用于bool和byte类型的操作数

因此,
&
运算符的右操作数应该是一个结果为
布尔值的表达式

在您的情况下,您应该创建一个应用于
字节的表达式
返回一个
布尔值

if( (m==mi) & expression_that_returns_boolean ){
}
byte Active=0;
if( (m==mi) & expression(Active) )
表达式可以是:
Active==[一些整数]

结果:
if((m==mi)和Active==0)
一元运算符
&
可以在
布尔值上执行。
在本例中,左操作数是一个
布尔值
,而右操作数需要是一个同时返回
布尔值的表达式:

if( (m==mi) & expression_that_returns_boolean ){
}
byte Active=0;
if( (m==mi) & expression(Active) )
System.byte
是一个关键字,用于声明一个变量,该变量可以存储0到255之间的无符号值。

因此,您的
if
语句实际上变成:

if(布尔值和字节)

运算符&不能应用于bool和byte类型的操作数

因此,
&
运算符的右操作数应该是一个结果为
布尔值的表达式

在您的情况下,您应该创建一个应用于
字节的表达式
返回一个
布尔值

if( (m==mi) & expression_that_returns_boolean ){
}
byte Active=0;
if( (m==mi) & expression(Active) )
表达式可以是:
Active==[一些整数]

结果:
if((m==mi)和Active==0)

尝试
if((m==mi)和Active==0).
尝试
if((m==mi)和Active==0).