c# 小程序陷入死循环

[复制链接]
查看11 | 回复1 | 2009-10-11 02:05:45 | 显示全部楼层 |阅读模式
C#的数组的index是从0开始的,所以a2里面如果有100个数据,i的最大值就是99.这段程序有些问题。比如100个点,Main线程先填进了50个,子线程画了50个点,这个时候子线程判断画线结束,那么drawline函数退出了。Main添加后50个点,只能重新开启新的线程。建议画线直接放进主线程做,不会有太多的效率问题。如果非要这样做,改一下。改成while(i < a2.Count - 1){g.DrawLine(p, (float)a1, (float)a2, (float)a1[i + 1], (float)a2[i + 1]);i++;}
回复

使用道具 举报

千问 | 2009-10-11 02:05:45 | 显示全部楼层
循环内i++;直接拎出if语句,直接放在while循环体内即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行