Generated by DocFX

Class ElementComparer<T>

Element-at-position comparer.

Inheritance
System.Object
ElementComparer<T>
ElementComparer
Implements
IEqualityComparer<T[]>
Namespace: ISynergy.Framework.Mathematics.Comparers
Assembly: ISynergy.Framework.Mathematics.dll
Syntax
public class ElementComparer<T> : IComparer<T[]> where T : IComparable, IEquatable<T>
Type Parameters
Name Description
T
Remarks

This class compares arrays by checking the value of a particular element at a given array index.

Examples
// We sort the arrays according to the 
// elements at their second column.

double[][] values =
{   //                 v
  new double[] {  0, 3, 0 },
  new double[] {  0, 4, 1 },
  new double[] { -1, 1, 1 },
  new double[] { -1, 5, 4 },
  new double[] { -2, 2, 6 },
};

// Sort the array considering only the second column
Array.Sort(values, new ElementComparer() { Index = 1 });

// The result will be
double[][] result =
{
  new double[] { -1, 1, 1 },
  new double[] { -2, 2, 6 },
  new double[] {  0, 3, 0 },
  new double[] {  0, 4, 1 },
  new double[] { -1, 5, 4 },
};

Properties

View Source

Index

Gets or sets the element index to compare.

Declaration
public int Index { get; set; }
Property Value
Type Description
System.Int32

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
View Source

Equals(T[], T[])

Determines whether two instances are equal.

Declaration
public bool Equals(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.Boolean

true if the specified object is equal to the other; otherwise, false.

View Source

GetHashCode(T[])

Returns a hash code for a given instance.

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

The instance.

Returns
Type Description
System.Int32

A hash code for the instance, 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)

See Also

ElementComparer
ArrayComparer<T>
GeneralComparer
CustomComparer<T>