C# 如何在文本文件中只写一行

C# 如何在文本文件中只写一行,c#,C#,我有两个文本文件bala.txt和bala1.txt bala.txt逐行包含如下文本: balamurugan,rajendran,chendurpandian christopher updateba ba bala1.txt逐行包含如下文本: balamurugan,rajendran,chendurpandian christopher updateba ba 在这里,我需要用bala.txt检查bala1.txt,并将其写入日志文件 Pattern Name:ba Line

我有两个文本文件
bala.txt
bala1.txt

bala.txt
逐行包含如下文本:

balamurugan,rajendran,chendurpandian
christopher
updateba
 ba
bala1.txt
逐行包含如下文本:

balamurugan,rajendran,chendurpandian
christopher
updateba
 ba
在这里,我需要用
bala.txt
检查
bala1.txt
,并将其写入日志文件

Pattern Name:ba
LineNo : 1 : balamurugan,rajendran,chendurpandian
LineNo : 3 : updateba
现在是这样写的

 Pattern Name :ba
LineNo : 1 : balamurugan,rajendran,chendurpandian
LineNo : 2 : christopher
Pattern Name :ba
LineNo : 3 : updateba
这是我的密码

while ((line = file.ReadLine()) != null)
                                    {
              if (line.IndexOf(line2,StringComparison.CurrentCultureIgnoreCase) != -1)
                    dest.WriteLine("Pattern Name :" + line2);
                    dest.WriteLine("LineNo : " + counter.ToString() + " : " + line);
                                        counter++;
                                    }
                                    file.BaseStream.Seek(0, SeekOrigin.Begin);
                                        //(0, SeekOrigin.Begin);
                                    counter = 1;

我不知道如何只写一次模式名ba…有什么建议吗???

要对代码进行最少的更改,您可以这样更改:

        bool patternwritten = false;
        while ((line = file.ReadLine()) != null)
                                {
          if (line.IndexOf(line2,StringComparison.CurrentCultureIgnoreCase) != -1)
                if( !patternwritten){
                  dest.WriteLine("Pattern Name :" + line2);
                  patternwritten = true;
                }
                dest.WriteLine("LineNo : " + counter.ToString() + " : " + line);
                                    counter++;
                                }
                                file.BaseStream.Seek(0, SeekOrigin.Begin);
                                    //(0, SeekOrigin.Begin);
                                counter = 1;

要对代码进行最少的更改,可以如下所示进行更改:

        bool patternwritten = false;
        while ((line = file.ReadLine()) != null)
                                {
          if (line.IndexOf(line2,StringComparison.CurrentCultureIgnoreCase) != -1)
                if( !patternwritten){
                  dest.WriteLine("Pattern Name :" + line2);
                  patternwritten = true;
                }
                dest.WriteLine("LineNo : " + counter.ToString() + " : " + line);
                                    counter++;
                                }
                                file.BaseStream.Seek(0, SeekOrigin.Begin);
                                    //(0, SeekOrigin.Begin);
                                counter = 1;