C#中 ,我用“||”表示“或”,但是出现了运算符“||”无法应用于“bool”和“int”类型的操作数

 我来答
shark_1980
推荐于2017-09-19 · TA获得超过4924个赞
知道小有建树答主
回答量:1096
采纳率:100%
帮助的人:403万
展开全部
在C#中 int类型的非零已经不再表示逻辑真,零也不再表示逻辑假,因此int型已经不再作为逻辑值来参与逻辑表达式。“||” 左右只能是逻辑表达式!
所以,如果想判断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#中的正确写法,这样左右两边都是逻辑表达式

或者你把代码贴上来,大家帮你分析。
百度网友3c3af2d
2012-10-09 · TA获得超过292个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:168万
展开全部
只能说明你有个地方判断的时候 返回值不是一个bool值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Aupryyyyyyyyyy
2012-10-09 · TA获得超过1636个赞
知道大有可为答主
回答量:1574
采纳率:53%
帮助的人:951万
展开全部
求代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最后的仙人
2012-10-10 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1394万
展开全部
基本可以认为把==写出来=了,你检查一下||后面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式