【发布时间】:2014-05-13 07:37:47
【问题描述】:
我有一个文本文件,我需要比较每一行的前 8 个字符,并将这些行作为匹配的一行加入。我使用的逻辑是从第一行开始选择每一行并进行比较到其余的行,然后移动到第二行并在最后一行执行相同的操作。但是当我尝试遍历其他行进行比较时,我得到错误“索引和长度必须引用字符串中的位置”。
请指教,见以下代码。
while ((line1 = fileread.ReadLine()) != null)
{
counter2++;
while ((line2 =fileread.ReadLine()) != null)
{
if (line1.Substring(0, 8) == line2.Substring(0, 8))
{
line1 = line1 + " " + line2;
}
counter3++;
}
filewrite.WriteLine(line1);
counter1++;
}
【问题讨论】:
-
提示:当一行少于 8 个字符时会发生什么?
-
检查字符串的 Length 属性...
-
提示2:使用缓冲区。不要在读取文件的同一个循环中写入文件,否则可能会遇到一些意想不到的结果。
-
你为什么不检查这样的条件
while ((line2 =fileread.ReadLine()).Lenght>=8)
标签: c#