Comparer<T>.Default Property
Definition
Returns a default sort order comparer for the type specified by the generic argument.
public:
static property System::Collections::Generic::Comparer<T> ^ Default { System::Collections::Generic::Comparer<T> ^ get(); };
public static System.Collections.Generic.Comparer<T> Default { get; }
member this.Default : System.Collections.Generic.Comparer<'T>
Public Shared ReadOnly Property Default As Comparer(Of T)
Property Value
An object that inherits Comparer<T> and serves as a sort order comparer for type T
.
Examples
The following example shows how to use the Default property to get an object that performs the default comparison. This example is part of a larger example provided for the Comparer<T> class.
// Get the default comparer that
// sorts first by the height.
Comparer<Box> defComp = Comparer<Box>.Default;
// Calling Boxes.Sort() with no parameter
// is the same as calling Boxs.Sort(defComp)
// because they are both using the default comparer.
Boxes.Sort();
foreach (Box bx in Boxes)
{
Console.WriteLine("{0}\t{1}\t{2}",
bx.Height.ToString(), bx.Length.ToString(),
bx.Width.ToString());
}
' Get the default comparer that
' sorts first by the height.
Dim defComp As Comparer(Of Box) = Comparer(Of Box).Default
' Calling Boxes.Sort() with no parameter
' is the same as calling Boxs.Sort(defComp)
' because they are both using the default comparer.
Boxes.Sort()
For Each bx As Box In Boxes
Console.WriteLine("{0}" & vbTab & "{1}" & vbTab & "{2}", _
bx.Height.ToString(), _
bx.Length.ToString(), _
bx.Width.ToString())
Next bx
Remarks
The Comparer<T> returned by this property uses the System.IComparable<T> generic interface (IComparable<T>
in C#, IComparable(Of T)
in Visual Basic) to compare two objects. If type T
does not implement the System.IComparable<T> generic interface, this property returns a Comparer<T> that uses the System.IComparable interface.
Notes to Callers
For string comparisons, the StringComparer class is recommended over Comparer<String>
(Comparer(Of String)
in Visual Basic). Properties of the StringComparer class return predefined instances that perform string comparisons with different combinations of culture-sensitivity and case-sensitivity. The case-sensitivity and culture-sensitivity are consistent among the members of the same StringComparer instance.
For more information on culture-specific comparisons, see the System.Globalization namespace and Globalization and Localization.