c#如何在搜索其中一个文件后从多个文件中读取同一行?

c#如何在搜索其中一个文件后从多个文件中读取同一行?,c#,readline,sequential,opentext,C#,Readline,Sequential,Opentext,这与我正在处理的内容类似,我必须按顺序同时处理3个文件,当找到字符串时,它会显示每个文件中该行的数据。到目前为止,我的问题是它不能正确地从第二个和第三个文件中读取数据,它只读取第一行。我的第二个问题,我正在尝试使用 String.Compare(string1, searchBox, true) 但我不确定该放在哪里,所以搜索过程中会忽略空格(修剪)或大写字母。守则: string string1, string2, string3, searchBox; StreamRe

这与我正在处理的内容类似,我必须按顺序同时处理3个文件,当找到字符串时,它会显示每个文件中该行的数据。到目前为止,我的问题是它不能正确地从第二个和第三个文件中读取数据,它只读取第一行。我的第二个问题,我正在尝试使用

String.Compare(string1, searchBox, true) 
但我不确定该放在哪里,所以搜索过程中会忽略空格(修剪)或大写字母。守则:

    string string1, string2, string3, searchBox;

    StreamReader file1, file2, file3;

    file1 = File.OpenText("data1.dat");
    file2 = File.OpenText("data2.dat");
    file3 = File.OpenText("data3.dat");

    string1 = file1.ReadLine();
    string2 = file2.ReadLine();
    string3 = file3.ReadLine();

    searchBox = searchTxtBox.Text.Trim();

    while ((string1 = file1.ReadLine()) != null)
    {
          if (string1.Contains(searchBox))
          {
           infoListBox.Items.Add(string1 + "====" + string2 + "====" + string3);
           break;
          }
    }

file1.Close();
file2.Close();
file3.Close();

“按顺序同时”:(我知道……但我们必须遵守命令谢谢!它终于用&&和StringComparisonGreat更新了第二个和第三个文件!很高兴它能帮助您!您知道为什么我会得到“不能隐式地将&&(string2=file2.ReadLine())的类型“string”转换为“decimal”!=null)我确保使用string2=decimal.Parse(file2.ReadLine())将字符串转换为十进制。不要使用
decimal.Parse(file2.ReadLine())
,因为在将字符串传递到
Parse
method
gameSales=decimal.TryParse(saleFiles.ReadLine(),out gameSales);
错误时,请使用
if(decimal.TryParse)(saleFiles.ReadLine(),out gameSales))
如果可以转换,则为true,否则为false
string string1, string2, string3, searchBox;

StreamReader file1, file2, file3;

file1 = File.OpenText("data1.dat");
file2 = File.OpenText("data2.dat");
file3 = File.OpenText("data3.dat");

searchBox = searchTxtBox.Text.Trim();

while ((string1 = file1.ReadLine()) != null
    && (string2 = file2.ReadLine()) != null 
    && (string3 = file3.ReadLine()) != null)
{
      if (string1.IndexOf(searchBox, StringComparison.CurrentCultureIgnoreCase) >= 0)
      {
       infoListBox.Items.Add(string1 + "====" + string2 + "====" + string3);
       break;
      }
}

file1.Close();
file2.Close();
file3.Close();