Checking equality of generic values C# with Example



Checking equality of generic values C# with Example

If logic of generic class or method requires checking equality of values having generic type, use 
EqualityComparer.Default property: 
public void Foo(TBar arg1, TBar arg2) 
{ 
var comparer = EqualityComparer.Default; 
if (comparer.Equals(arg1,arg2) 
{ 
... 
} 
 

} 
This approach is better than simply calling Object.Equals() method, because default comparer implementation 
checks, whether TBar type implements IEquatale interface and if yes, calls IEquatable.Equals(TBar 
other) method. This allows to avoid boxing/unboxing of value types. 

0 Comment's

Comment Form

Submit Comment