Поделиться через


SortedSet<T> Конструкторы

Определение

Инициализирует новый экземпляр класса SortedSet<T>.

Перегрузки

SortedSet<T>()

Инициализирует новый экземпляр класса SortedSet<T>.

SortedSet<T>(IComparer<T>)

Инициализирует новый экземпляр класса SortedSet<T>, использующий заданный компаратор.

SortedSet<T>(IEnumerable<T>)

Инициализирует новый экземпляр класса SortedSet<T>, содержащий элементы, скопированные из заданной перечисляемой коллекции.

SortedSet<T>(IEnumerable<T>, IComparer<T>)

Инициализирует новый экземпляр класса SortedSet<T>, содержащий элементы, скопированные из заданной перечисляемой коллекции, и использующий заданных компаратор.

SortedSet<T>(SerializationInfo, StreamingContext)
Устаревшие..

Инициализирует новый экземпляр класса SortedSet<T>, который содержит сериализованные данные.

Комментарии

Этот конструктор является операцией O(1) .

SortedSet<T>()

Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs

Инициализирует новый экземпляр класса SortedSet<T>.

public:
 SortedSet();
public SortedSet ();
Public Sub New ()

Применяется к

SortedSet<T>(IComparer<T>)

Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs

Инициализирует новый экземпляр класса SortedSet<T>, использующий заданный компаратор.

public:
 SortedSet(System::Collections::Generic::IComparer<T> ^ comparer);
public SortedSet (System.Collections.Generic.IComparer<T> comparer);
public SortedSet (System.Collections.Generic.IComparer<T>? comparer);
new System.Collections.Generic.SortedSet<'T> : System.Collections.Generic.IComparer<'T> -> System.Collections.Generic.SortedSet<'T>
Public Sub New (comparer As IComparer(Of T))

Параметры

comparer
IComparer<T>

Компаратор по умолчанию для использования при сравнении объектов.

Исключения

comparer имеет значение null.

Примеры

В следующем примере определяется средство сравнения (ByFileExtension), используемое для создания отсортированного набора, который сортирует имена файлов по их расширениям. Этот пример входит в состав более крупного примера использования класса SortedSet<T>.

// Create a sorted set using the ByFileExtension comparer.
var mediaFiles1 = new SortedSet<string>(new ByFileExtension());
' Create a sorted set using the ByFileExtension comparer.
Dim mediaFiles1 As New SortedSet(Of String)(New ByFileExtension)
// Defines a comparer to create a sorted set
// that is sorted by the file extensions.
public class ByFileExtension : IComparer<string>
{
    string xExt, yExt;

    CaseInsensitiveComparer caseiComp = new CaseInsensitiveComparer();

    public int Compare(string x, string y)
    {
        // Parse the extension from the file name.
        xExt = x.Substring(x.LastIndexOf(".") + 1);
        yExt = y.Substring(y.LastIndexOf(".") + 1);

        // Compare the file extensions.
        int vExt = caseiComp.Compare(xExt, yExt);
        if (vExt != 0)
        {
            return vExt;
        }
        else
        {
            // The extension is the same,
            // so compare the filenames.
            return caseiComp.Compare(x, y);
        }
    }
}
' Defines a comparer to create a sorted set
' that is sorted by the file extensions.
Public Class ByFileExtension
    Implements IComparer(Of String)
    Dim xExt, yExt As String

    Dim caseiComp As CaseInsensitiveComparer = _
                        New CaseInsensitiveComparer
    Public Function Compare(x As String, y As String) _
        As Integer Implements IComparer(Of String).Compare
        ' Parse the extension from the file name.
        xExt = x.Substring(x.LastIndexOf(".") + 1)
        yExt = y.Substring(y.LastIndexOf(".") + 1)

        ' Compare the file extensions.
        Dim vExt As Integer = caseiComp.Compare(xExt, yExt)
        If vExt <> 0 Then
            Return vExt
        Else
            ' The extension is the same, 
            ' so compare the filenames. 
            Return caseiComp.Compare(x, y)
        End If
    End Function        
    
End Class

Применяется к

SortedSet<T>(IEnumerable<T>)

Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs

Инициализирует новый экземпляр класса SortedSet<T>, содержащий элементы, скопированные из заданной перечисляемой коллекции.

public:
 SortedSet(System::Collections::Generic::IEnumerable<T> ^ collection);
public SortedSet (System.Collections.Generic.IEnumerable<T> collection);
new System.Collections.Generic.SortedSet<'T> : seq<'T> -> System.Collections.Generic.SortedSet<'T>
Public Sub New (collection As IEnumerable(Of T))

Параметры

collection
IEnumerable<T>

Перечисляемая коллекция, из которой копируются объекты.

Комментарии

Повторяющиеся элементы в перечисляемой коллекции не копируются в новый экземпляр SortedSet<T> класса , и исключения не создаются.

Этот конструктор является операцией O(n log n) , где n — количество элементов в параметре collection .

Применяется к

SortedSet<T>(IEnumerable<T>, IComparer<T>)

Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs

Инициализирует новый экземпляр класса SortedSet<T>, содержащий элементы, скопированные из заданной перечисляемой коллекции, и использующий заданных компаратор.

public:
 SortedSet(System::Collections::Generic::IEnumerable<T> ^ collection, System::Collections::Generic::IComparer<T> ^ comparer);
public SortedSet (System.Collections.Generic.IEnumerable<T> collection, System.Collections.Generic.IComparer<T> comparer);
public SortedSet (System.Collections.Generic.IEnumerable<T> collection, System.Collections.Generic.IComparer<T>? comparer);
new System.Collections.Generic.SortedSet<'T> : seq<'T> * System.Collections.Generic.IComparer<'T> -> System.Collections.Generic.SortedSet<'T>
Public Sub New (collection As IEnumerable(Of T), comparer As IComparer(Of T))

Параметры

collection
IEnumerable<T>

Перечисляемая коллекция, из которой копируются объекты.

comparer
IComparer<T>

Компаратор по умолчанию для использования при сравнении объектов.

Исключения

collection имеет значение null.

Применяется к

SortedSet<T>(SerializationInfo, StreamingContext)

Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs
Исходный код:
SortedSet.cs

Внимание!

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

Инициализирует новый экземпляр класса SortedSet<T>, который содержит сериализованные данные.

protected:
 SortedSet(System::Runtime::Serialization::SerializationInfo ^ info, System::Runtime::Serialization::StreamingContext context);
protected SortedSet (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected SortedSet (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
new System.Collections.Generic.SortedSet<'T> : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.Collections.Generic.SortedSet<'T>
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new System.Collections.Generic.SortedSet<'T> : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> System.Collections.Generic.SortedSet<'T>
Protected Sub New (info As SerializationInfo, context As StreamingContext)

Параметры

info
SerializationInfo

Объект, который содержит сведения, необходимые для сериализации объекта SortedSet<T>.

context
StreamingContext

Структура, содержащая источник и назначение сериализованного потока, связанного с объектом SortedSet<T>.

Атрибуты

Комментарии

Этот конструктор вызывается во время десериализации для восстановления объекта, передаваемого по потоку.

Применяется к