.Net 8+ LINQ examples with EqualityComparer.Create
Opened this issue · 1 comments
in .Net 8 new class was created to allow using lambdas anywhere that IQualityComparer is used. According to dotnet/runtime#101448 the reasoning was that adding lambda functionality everywhere IEqualityComparer is used would become a maintenance headache.
Unfortunately, EqualityComparer.Create is very new and not well enough known to show up on google searches or otherwise be easily discoverable.
I propose adding small example snippets that demonstrate this new functionality so that it can be more easily discovered. For example: in Enumerable.SequenceEqual(IEnumerable, IEnumerable, IEqualityComparer)
The following example demonstrates how a lambda function can be used to compare to sequences:
ProductA[] storeA = { new ProductA { Name = "apple", Code = 9 },
new ProductA { Name = "orange", Code = 4 } };
ProductA[] storeB = { new ProductA { Name = "apple", Code = 9 },
new ProductA { Name = "orange", Code = 4 } };
IEqualityComparer<ProductA> comparer = EqualityComparer.Create((first,second) => first.Code == second.Code);
bool equalAB = storeA.SequenceEqual(storeB, comparer);
Console.WriteLine("Equal? " + equalAB);
/*
This code produces the following output:
Equal? True
*/
Tagging subscribers to this area: @dotnet/area-system-linq