我有一个文本文件,我需要比较每行的前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++;
}
答案 0 :(得分:0)
在使用Substring
之前,您需要检查ste字符串的长度,使用Length
属性。
while ((line2 =fileread.ReadLine()) != null)
{
if (line1.Length >=8 && lines2.Length >=8 &&
line1.Substring(0, 8) == line2.Substring(0, 8))
{
line1 = line1 + " " + line2;
}
counter3++;
}