比较文本文件中的字符串

时间:2014-05-13 07:37:47

标签: c#

我有一个文本文件,我需要比较每行的前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++;
}

1 个答案:

答案 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++;
}