public static bool Diff(string file1, string file2) { if (file1 == null) { throw new ArgumentNullException(); } if (file2 == null) { throw new ArgumentNullException(); } Common.StringReader reader = new Common.StringReader(); List <string> lines1 = reader.Read(file1); List <string> lines2 = reader.Read(file2); int maxLine = Math.Max(lines1.Count - 1, lines2.Count - 1); for (int i = 0; i <= maxLine; i++) { if (lines1.Count - 1 < i) { Console.WriteLine("*** File {0} has fewer lines than file {1}.", file1, file2); Console.WriteLine("*** First line not contained in smaller file:", lines1[i]); return(false); } if (lines2.Count - 1 < i) { Console.WriteLine("*** File {0} has fewer lines than file {1}.", file2, file1); Console.WriteLine("*** First line not contained in smaller file:", lines2[i]); return(false); } if (!lines1[i].Equals(lines2[i])) { Console.WriteLine("*** Files {0} and {1} differ starting at line {2}.", file1, file2, i); Console.WriteLine("*** File {0} line {1}: {2}.", file1, i, lines1[i]); Console.WriteLine("*** File {0} line {1}: {2}.", file2, i, lines2[i]); return(false); } } return(true); }
public static bool Diff(string file1, string file2) { if (file1 == null) throw new ArgumentNullException(); if (file2 == null) throw new ArgumentNullException(); Common.StringReader reader = new Common.StringReader(); List<string> lines1 = reader.Read(file1); List<string> lines2 = reader.Read(file2); int maxLine = Math.Max(lines1.Count - 1, lines2.Count - 1); for (int i = 0; i <= maxLine ; i++) { if (lines1.Count - 1 < i) { Console.WriteLine("*** File {0} has fewer lines than file {1}.", file1, file2); Console.WriteLine("*** First line not contained in smaller file:", lines1[i]); return false; } if (lines2.Count - 1 < i) { Console.WriteLine("*** File {0} has fewer lines than file {1}.", file2, file1); Console.WriteLine("*** First line not contained in smaller file:", lines2[i]); return false; } if (!lines1[i].Equals(lines2[i])) { Console.WriteLine("*** Files {0} and {1} differ starting at line {2}.", file1, file2, i); Console.WriteLine("*** File {0} line {1}: {2}.", file1, i, lines1[i]); Console.WriteLine("*** File {0} line {1}: {2}.", file2, i, lines2[i]); return false; } } return true; }