This documentation is archived and is not being maintained.

StructuralComparisons Class

Provides objects for performing a structural comparison of two collection objects.


Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

Public NotInheritable Class StructuralComparisons

The StructuralComparisons type exposes the following members.

Public propertyStatic memberStructuralComparerGets a predefined object that performs a structural comparison of two objects.
Public propertyStatic memberStructuralEqualityComparerGets a predefined object that compares two objects for structural equality.

The StructuralComparisons class returns the following two predefined comparison objects:

  • An IComparer implementation that can be passed to a method such as Array.IStructuralComparable.CompareTo(Object, IComparer) or Tuple(Of T1, T2, T3).IStructuralComparable.CompareTo(Object, IComparer) to perform a structural comparison of two objects. It is designed to indicate whether the first object precedes, follows, or occurs in the same position as the second object in the sort order.

  • An IEqualityComparer implementation that can be passed to a method such as Array.IStructuralEquatable.Equals(Object, IEqualityComparer) or Tuple(Of T1, T2, T3).IStructuralEquatable.Equals(Object, IEqualityComparer) to perform a comparison for structural equality.

The objects can be used to perform a structural comparison or a structural equality comparison of two collection objects, such as array or tuple objects. In structural comparison, two objects are compared based on their values. Objects can be ordered based on some criteria, and two objects are considered equal when they have equal values, not because they reference the same physical object

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.