C#中 ,我用“||”表示“或”,但是出现了运算符“||”无法应用于“bool”和“int”类型的操作数
4个回答
展开全部
在C#中 int类型的非零已经不再表示逻辑真,零也不再表示逻辑假,因此int型已经不再作为逻辑值来参与逻辑表达式。“||” 左右只能是逻辑表达式!
所以,如果想判断x不等于零或y等于零,应当用
if (x!=0 || y==0)来进行,而不是 if (x || !y)
所以,如果想判断x不等于零或y等于零,应当用
if (x!=0 || y==0)来进行,而不是 if (x || !y)
追问
不是这样的
追答
Operator '||' cannot be applied to operands of type 'bool' and 'int' (CS0019) 是这个错误提示吧!
你的表达式“||”左边是个bool类型,右边是个int类型,我上面已经说了,int类型已经不再作为逻辑值参与逻辑运算了(C/C++中是可以的,0表示false,1表示true)。
你说不是这样,你试过了吗?
举个例子:
int i=1;
bool x=true;
if (x || i) ... //在C/C++中是合法的,在C#中“||”右边是个整型,而不是逻辑值,是不能编译的
if (x || i==1) ... //这才是C#中的正确写法,这样左右两边都是逻辑表达式
或者你把代码贴上来,大家帮你分析。
展开全部
只能说明你有个地方判断的时候 返回值不是一个bool值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本可以认为把==写出来=了,你检查一下||后面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询