首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

程序未完成循环就结束是什么有关问题

2012-04-20 
程序未完成循环就结束是什么问题?我在button里面写了一段代码,读取一个二进制文件然后写入一个文本文件,如

程序未完成循环就结束是什么问题?
我在button里面写了一段代码,读取一个二进制文件然后写入一个文本文件,如下:
for (int i = 0; i < tmp.Length; i++)
{
  tmp[i] = br.ReadInt16();//br是二进制读取用的binaryReader
  txtTmp.WriteLine(tmp.Length+" "+i.ToString()+" "+tmp[i]);  
}

tmp.length数值是23766,但是从来没有循环完成,i经常循环到236XX这个范围的数就结束了,文本最后部分会显示
……
23766 23638 100
23766 23639 80
23766 23640 110
23766 23641 100
23766 23642 150
23
好像被掐断循环一样,而且每次中断结束的i值都不一样,最接近结果的一次是在23760时中断,这是为何呢,桌面版程序就不会出现这种情况。。。。

[解决办法]
加个Try Catch看看,或者里面加上if(i>=23642){
//里面什么都不写,断点打在这里调试看看怎么回事
}
[解决办法]
先调试,看看报错时,br是否还有数据可读,是否有超出了Int16范围的数字
[解决办法]
try catch, 找原因
[解决办法]
这个应该是什么地方超了maxLength了.查一下.或者把tmp.Length这个数不输出看是不是会完成整个循环.
[解决办法]
调试运行最清楚
[解决办法]
txtTmp.Flush();

热点排行