static void FileMatch1(int count) { var comparer = new LambdaComparer<Item>((x,y)=>x.Name == y.Name); using (var traker = new TimeTick(string.Format("Test1 - Using Intersect ", count, count * 3))) { var items = LeftItems.Intersect(RightItems, comparer); traker.Stop(items.Count()); } }
static void FileMatch2(int count) { using (var traker = new TimeTick(string.Format("Test2 - Using LINQ Join", count, count * 3))) { var queryLeft = from l in LeftItems join r in RightItems on l.Name equals r.Name into temp from r in temp.DefaultIfEmpty() select new Item { Name = l.Name, Match = !(r == null) }; var cnt = queryLeft.Where(x => x.Match == true).Count(); traker.Stop(cnt); } }