private static void FindAllListingsForProduct(Product product, List<Listing> listings, Dictionary<string, List<Listing>> allListingsOfProduct) { foreach (var listing in listings) { if (listing == null || listing.Picked || !ListingMatchesProduct(product.Tokens, listing.Tokens)) continue; listing.Picked = true; allListingsOfProduct.AddOrUpdate(product.ProductName, listing); } }
private static void FindAllListingsForProductAsync(Product product, List<Listing> listings, Dictionary<string, List<Listing>> allListingsOfProduct) { Parallel.ForEach(listings, listing => { if ( !(listing == null || listing.Picked || !ListingMatchesProduct(product.Tokens, listing.Tokens))) { listing.Picked = true; allListingsOfProduct.AddOrUpdate(product.ProductName, listing); } } ); }