- Notifications
You must be signed in to change notification settings - Fork1.6k
Open
Description
in .Net 8 new class was created to allow using lambdas anywhere that IQualityComparer is used. According todotnet/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: inEnumerable.SequenceEqual(IEnumerable, IEnumerable, IEqualityComparer)
The following example demonstrates how a lambda function can be used to compare to sequences:
ProductA[]storeA={newProductA{Name="apple",Code=9},newProductA{Name="orange",Code=4}};ProductA[]storeB={newProductA{Name="apple",Code=9},newProductA{Name="orange",Code=4}};IEqualityComparer<ProductA>comparer=EqualityComparer.Create((first,second)=>first.Code==second.Code);boolequalAB=storeA.SequenceEqual(storeB,comparer);Console.WriteLine("Equal? "+equalAB);/* This code produces the following output: Equal? True*/