public static List <RowColumns> Append(IEnumerable <RowColumns> c1, IEnumerable <RowColumns> c2) { var c = new List <RowColumns>(); foreach (var e1 in c1) { var row = e1.Row; var e2 = c2.Where(x => x.Row == row).FirstOrDefault(); if (e2 != null) { var matches = MatchList.Append(e1.Matches, e2.Matches); if (matches.Count > 0) { c.Add(new RowColumns(row, matches)); } } } return(c); }