I have created a Comparer in .Net 4.5:
public static Comparer<Room> RoomComparer =
Comparer<Room>.Create((a, b) => a.RoomId.CompareTo(b.RoomId))
How can i create Comparer in c# .NET 4.0?
public class RoomComparer: IComparer<Room>
{
int Compare(Room a, Room b)
{
return (a == null && b == null) ? 0
: (a == null) ? -1
: (b == null) ? 1
: a.RoomId.CompareTo(b.RoomId);
}
}
You can use the following
public static class Comparer
{
public static Comparer<T> Create<T>(Comparison<T> comparison)
{
if (comparison == null) throw new ArgumentNullException("comparison");
return new ComparisonComparer<T>(comparison);
}
private sealed class ComparisonComparer<T> : Comparer<T>
{
private readonly Comparison<T> comparison;
public ComparisonComparer(Comparison<T> comparison)
{
this.comparison = comparison;
}
public override int Compare(T x, T y)
{
return comparison(x, y);
}
}
}
like this
public static Comparer<Room> RoomComparer =
Comparer.Create<Room>((a, b) => a.RoomId.CompareTo(b.RoomId))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With