Generated by DocFX

Class CustomComparer<T>

Custom comparer which accepts any delegate or anonymous function to perform value comparisons.

Inheritance
System.Object
CustomComparer<T>
Implements
IEqualityComparer<T>
Namespace: ISynergy.Framework.Mathematics.Comparers
Assembly: ISynergy.Framework.Mathematics.dll
Syntax
public class CustomComparer<T> : IComparer<T>
Type Parameters
Name Description
T

The type of objects to compare.

Examples
// Assume we have values to sort
double[] values = { 0, 5, 3, 1, 8 };

// We can create an ad-hoc sorting rule using
Array.Sort(values, new CustomComparer<double>((a, b) => -a.CompareTo(b)));

// Result will be { 8, 5, 3, 1, 0 }.

Constructors

View Source

CustomComparer(Func<T, T, Int32>)

Constructs a new CustomComparer<T>.

Declaration
public CustomComparer(Func<T, T, int> comparer)
Parameters
Type Name Description
Func<T, T, System.Int32> comparer

The comparer function.

Methods

View Source

Compare(T, T)

Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.

Declaration
public int Compare(T x, T y)
Parameters
Type Name Description
T x

The first object to compare.

T y

The second object to compare.

Returns
Type Description
System.Int32

A signed integer that indicates the relative values of x and y.

View Source

Equals(T, T)

Determines whether the specified objects are equal.

Declaration
public bool Equals(T x, T y)
Parameters
Type Name Description
T x

The first object of type T to compare.

T y

The second object of type T to compare.

Returns
Type Description
System.Boolean

true if the specified objects are equal; otherwise, false.

View Source

GetHashCode(T)

Returns a hash code for the given object.

Declaration
public int GetHashCode(T obj)
Parameters
Type Name Description
T obj

The object.

Returns
Type Description
System.Int32

A hash code for the given object, suitable for use in hashing algorithms and data structures like a hash table.

Implements

IEqualityComparer<>

Extension Methods

Matrix.Replace<T>(T, Object, Object)
Matrix.IsEqual(Object, Object, Decimal, Decimal)
EntityBaseExtensions.HasProperty(Object, String)
ArrayExtensions.Concatenate<T>(T, T[])
CollectionExtensions.FromHierarchy<TSource>(TSource, Func<TSource, TSource>, Func<TSource, Boolean>)
CollectionExtensions.FromHierarchy<TSource>(TSource, Func<TSource, TSource>)
ObjectExtensions.Clone<T>(T)
ObjectExtensions.To<T>(Object)
ObjectExtensions.To(Object, Type)
ObjectExtensions.HasMethod(Object, String)
ObjectExtensions.AddressOf<T>(T)
ReflectionExtensions.GetIdentityValue<T>(T)
ReflectionExtensions.GetIdentityValue<T, TResult>(T)
ReflectionExtensions.GetIdentityProperty<T>(T)
ReflectionExtensions.HasIdentityProperty<T>(T)
ReflectionExtensions.GetPropertyValue<T, TResult>(T, String, TResult)
ReflectionExtensions.GetPropertyInfo<T, TValue>(T, Expression<Func<T, TValue>>)
ReflectionExtensions.GetTitleValue<T>(T)
ReflectionExtensions.HasParentIdentityProperty<T>(T)
ReflectionExtensions.GetParentIdentityProperty<T>(T)
ReflectionExtensions.IsFreeApplication<T>(T)