2016-02-21 7 views
1

Это что-то похожее на то, над чем я работаю, я должен делать 3 файла одновременно, а когда строка найдена, она отображает данные из этой строки каждого файла. Моя проблема до сих пор заключается в том, что она не считывает данные из второго и третьего файлов правильно, она читает только первую строку. Моя вторая проблема, я пытаюсь использоватьC# как читать одну строку из нескольких файлов после поиска из 1 файла?

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(); 
+0

«в то же время последовательно» :( –

+0

я знаю ... но мы должны следовать приказам хех – Maximilious

ответ

2
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(); 
+0

Спасибо, что наконец-то обновили второй и третий файлы с && и StringComparison – Maximilious

+1

Отлично! Рад, что это вам поможет! – Sakura

+0

Знаете, почему я получаю «не могу неявно преобразовать тип« string »в« decimal »для && (string2 = file2.ReadLine())! = Null) Я убедился, что вы конвертируете в decimal using string2 = decimal.Parse (file2.ReadLine()) – Maximilious

 Смежные вопросы

  • Нет связанных вопросов^_^