求教大师for循环问题

as497678 2012-10-10 09:22:01
for (int i = 0; i < 8; i++)
{
strbuilder.Append("<tr><td>" + arrayList[i] + "</td><td>" + arrayList[i++] + "</td><td>" + arrayList[i++] + "</td><td>" + arrayList[i++] + "</td></tr>");
}
return strbuilder;


如果数组元素为1,2,3,4,5,6,7,8
返回的是1,1,2,3
5,5,6,7


求指教!!!谢谢
...全文
121 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
as497678 2012-10-10
  • 打赏
  • 举报
回复
谢谢大家的帮助!!
聊咋咧 2012-10-10
  • 打赏
  • 举报
回复
arraylist[i++],在表达式[i++]中,貌似是先取i的值,然后再++,于是stringbuilder中也就等同于arraylist[0],arraylist[0],arraylist[1],arraylist[2],此时第一次循环结束,其中最后一个arraylist[i++]之后i已变为3,在经过for中的i++后i已等于4,于是第二次循环所列的四个为arraylist[4],arraylist[4],arraylist[5],arraylist[6]第二次循环后i等于7,在经过for中的i++后i为8,循环结束。
myNewStart_0910 2012-10-10
  • 打赏
  • 举报
回复
请注意 i++ 和 ++i的区别在于 : 前者会先做操作,后自增; 后者是先自增,再做操作。
Mandys 2012-10-10
  • 打赏
  • 举报
回复
顶ls的,用不同的方法去调试。
  • 打赏
  • 举报
回复
LZ你,你arrayList[i++]取值的时候 i的值已经被你改变了,下一次循环的时候i的值会在这个基础上累加的,
你这样取值就可以看到变化


for (int i = 0; i < 8; i++)
{
string a= arrayList[i].ToString();
string b= arrayList[i++].ToString();
string c= arrayList[i++].ToString();
string d= arrayList[i++].ToString();
////////然后就是拼接
}
wangyizhi58 2012-10-10
  • 打赏
  • 举报
回复
for (int i = 0; i < 8; i++)
{
strbuilder.Append("<tr><td>" + arrayList[i] + "</td><td>" + arrayList[i+1] + "</td><td>" + arrayList[i+1] + "</td><td>" + arrayList[i+1] + "</td></tr>");
}
return strbuilder;
zhanglong_longlong 2012-10-10
  • 打赏
  • 举报
回复
应该要++i
zhanglong_longlong 2012-10-10
  • 打赏
  • 举报
回复
strbuilder.Append("<tr><td>" + arrayList[i] + "</td><td>" + arrayList[++i] + "</td><td>" + arrayList[++i] + "</td><td>" + arrayList[++i] + "</td></tr>");
H_Gragon 2012-10-10
  • 打赏
  • 举报
回复
搞什么啊,不用楼主什么意思!
as497678 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

引用楼主 的回复:
for (int i = 0; i < 8; i++)
{
strbuilder.Append("<tr><td>" + arrayList[i] + "</td><td>" + arrayList[i++] + "</td><td>" + arrayList[i++] + "</td><td>" +……
[/Quote]
返回值是
1,1,2,3
5,5,6,7
返回值应该是
1,2,3,4
5,6,7,8
as497678 2012-10-10
  • 打赏
  • 举报
回复
手工顶置!!
zhanglong_longlong 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
for (int i = 0; i < 8; i++)
{
strbuilder.Append("<tr><td>" + arrayList[i] + "</td><td>" + arrayList[i++] + "</td><td>" + arrayList[i++] + "</td><td>" + arrayList[i+……
[/Quote]
怎么了?

62,050

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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