using System.Collections.Generic;
public static void Main()
Console.WriteLine(FileCompareV2(file1, file2));
Console.WriteLine(FileCompareV2(file1, file3, 1));
Console.WriteLine(FileCompareV2(file1, file4));
private static bool FileCompare(IEnumerable<string> file1, IEnumerable<string> file2, int offset = 0)
file1 = file1.Skip(offset);
file2 = file2.Skip(offset);
var firstNotSecond = file1.Except(file2, StringComparer.OrdinalIgnoreCase);
var secondNotFirst = file2.Except(file1, StringComparer.OrdinalIgnoreCase);
return !firstNotSecond.Any() && !secondNotFirst.Any();
private static bool FileCompareV2(IEnumerable<string> file1, IEnumerable<string> file2, int offset = 0)
file1 = file1.Skip(offset);
file2 = file2.Skip(offset);
return file1.SequenceEqual(file2, StringComparer.OrdinalIgnoreCase) &&
file2.SequenceEqual(file1, StringComparer.OrdinalIgnoreCase);