2013-05-09 3 views
-2

Пожалуйста, помогите мне сравнить дату и время в двух текстовых файлах и сравните их, чтобы проверить, являются ли они одинаковыми, используя метод DateTime.TryParse или любой другой другой способ.Как читать дату и время из текстового файла и сравнивать данные в C#

У меня есть следующий код:

 String[] file1Lines = File.ReadAllLines("Text.txt"); 
     String[] file2Lines = File.ReadAllLines("Text2.txt"); 

     for (int i = 0; i < Math.Max(file1Lines.Length, file2Lines.Length); i++) 
     { 
      if (i > file1Lines.Length) 
       /* missing from file 1 */ 
       Console.WriteLine("Missing from File 1"); 
      else if (i > file2Lines.Length) 
       /* missing from file 2); */ 
       Console.WriteLine("Missing from File 1") ; 
      else if (file1Lines[i].Equals(file2Lines[i])) 
       /* lines are equal */ 
       Console.WriteLine("Lines are equal") ; 
      else 
       /* lines are different */ 

       Console.WriteLine("Lines are different"); 
     } 
+4

что мешает вам фиксируя код? –

+1

Что не так с кодом, который у вас есть? Вы сравниваете строки для равенства между двумя файлами - это проблема, которую вы хотите преобразовать каждую строку в «DateTime» перед сравнением? Вы пробовали какой-либо код, который не работал? –

+0

'Console.WriteLine (« Отсутствует из файла 1 »)' должен быть 'File 2' во второй раз, нет? –

ответ

0

Предположим, вам нужно что-то, как показано ниже:

String[] file1Lines = File.ReadAllLines("Text.txt"); 
    String[] file2Lines = File.ReadAllLines("Text2.txt"); 

    for (int i = 0; i < Math.Max(file1Lines.Length, file2Lines.Length); i++) 
    { 
     if (i > file1Lines.Length) 
      /* missing from file 1 */ 
      Console.WriteLine("Missing from File 1"); 
     else if (i > file2Lines.Length) 
      /* missing from file 2); */ 
      Console.WriteLine("Missing from File 1") ; 
     else { 
      DateTime file1Date = DateTime.Now; 
      DateTime file2Date = DateTime.Now; 
          // try parse a line from first file 
      if(DateTime.TryParse(file1Lines[i], out file1Date)) { 
            // try parse a line from second file 
       if(DateTime.TryParse(file2Lines[i], out file2Date)) { 
        if (file1Date.Date == file2Date.Date) { 
         /* lines are equal */ 
         Console.WriteLine("Dates are equal") ; 
        } else { 
         /* lines are different */ 
         Console.WriteLine("Dates are different"); 
        } 
       } else { 
        Console.WriteLine("Line in file 2 is not a date") ; 
       }     
      } else { 
       Console.WriteLine("Line in file 1 is not a date") ; 
      } 
     } 
    } 
+0

Черт возьми, позвольте мне попробовать. –

+0

Я просто проверяю это. Он работает, если дата и время совпадают в обоих файлах. Предположим, что в файле 1 данные: 20-06-2013 5:45, а во второй строке у меня есть 21-06-2013 6:45, а во втором файле у меня есть 20-06-2013 5:45 и вторая строка У меня есть 21-06-2013 7:34, выход я получаю Даты равны/n Даты разные. –

+0

Ох. Вы должны проверить даты только! Второй .. –