关于&&的问题

sunkai572 2009-09-17 10:41:36



for (int i = 0; i < origin.Length; i++)
{
for (int j = 0,sum=0; j < origin.Length; j++)
{
restart: if ((Term[i] = Term[j])&&(i <= j))
Term[i] = Term[i];
else
Term[i] = Term[i + 1];
goto restart;
}
}


运行时报错说:运算符“&&”无法应用于“string”和“bool”类型的操作数
请问要怎么改,谢谢!
...全文
187 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyc6250 2009-09-17
  • 打赏
  • 举报
回复
==
yang1216 2009-09-17
  • 打赏
  • 举报
回复
没看明白这个goto,怎么感觉是死循环。
liffe 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yutian_01261027 的回复:]
((Term[i] == Term[j])&&
两个==才行
[/Quote]
1楼正解
风之影子 2009-09-17
  • 打赏
  • 举报
回复
简单的说,C#里的逻辑运算符是==
而不是=

以后所有的逻辑比较都会==就行
lingxizhixia 2009-09-17
  • 打赏
  • 举报
回复
for (int i = 0; i < origin.Length; i++)
{
for (int j = 0,sum=0; j < origin.Length; j++)
{
restart: if ((Term[i] = Term[j])&&(i <= j))
Term[i] = Term[i];
else
Term[i] = Term[i + 1];
goto restart;
}
是你的代码有问题啊。
Term[i] = Term[j]应该改成Term[i] == Term[j] 这才是判断两者是否相等
当然在C#中还有一个 & 他的作用与 && 一样,都是两者都为真时结果为真,但&& 是简洁与,当式子中有一个表达市的值为FALSE时,不在判断后面的表达市的值,立即返回结果FALSE 使用它可以节省判断时间。
OhYeah_Dragon 2009-09-17
  • 打赏
  • 举报
回复
Term[i] = Term[j]
改成
Term[i] == Term[j]

基本语法啊
jerry_zuo 2009-09-17
  • 打赏
  • 举报
回复


restart: if ((Term[i] = Term[j])&&(i <= j))

//改为

restart: if ((Term[i] == Term[j])&&(i <= j))

yutian_01261027 2009-09-17
  • 打赏
  • 举报
回复
((Term[i] == Term[j])&&
两个==才行
abcdef1111111 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yutian_01261027 的回复:]
((Term[i] == Term[j])&& 
两个==才行
[/Quote]1楼正解 Term[i] == Term[j]
menglionel 2009-09-17
  • 打赏
  • 举报
回复
((Term[i] == Term[j])
zero_liuf 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yutian_01261027 的回复:]
((Term[i] == Term[j])&& 
两个==才行
[/Quote]

正解

&& 用于判断bool

= 为赋值

== 为判断bool
jiajiaping 2009-09-17
  • 打赏
  • 举报
回复
呵呵……
Tiantiandiandian 2009-09-17
  • 打赏
  • 举报
回复
楼主是初学者吧?
chenjianyong94 2009-09-17
  • 打赏
  • 举报
回复
    for (int i = 0; i < origin.Length; i++)
{
for (int j = 0,sum=0; j < origin.Length; j++)
{
restart: if ((Term[i] == Term[j])&&(i <= j))
Term[i] = Term[i];
else
Term[i] = Term[i + 1];
goto restart;
}
}
flyfly2008 2009-09-17
  • 打赏
  • 举报
回复
==
luna1106 2009-09-17
  • 打赏
  • 举报
回复
上面的朋友已经说的很清楚了,判断的时候要用==
ralhander 2009-09-17
  • 打赏
  • 举报
回复
&&连接两个bool值,你前面是一个赋值语句,不是判断语句
yzy8788 2009-09-17
  • 打赏
  • 举报
回复
路过
listenyang 2009-09-17
  • 打赏
  • 举报
回复

if ((Term[i] = Term[j])&&(i <= j))

==才是判断,=是赋值啊。

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧