SortedDictionary<TKey,TValue> Klasa

Definicja

Reprezentuje kolekcję par klucz/wartość, które są sortowane według klucza.Represents a collection of key/value pairs that are sorted on the key.

generic <typename TKey, typename TValue>
public ref class SortedDictionary : System::Collections::Generic::ICollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IDictionary<TKey, TValue>, System::Collections::Generic::IEnumerable<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IReadOnlyCollection<System::Collections::Generic::KeyValuePair<TKey, TValue>>, System::Collections::Generic::IReadOnlyDictionary<TKey, TValue>, System::Collections::IDictionary
[System.Serializable]
public class SortedDictionary<TKey,TValue> : System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IDictionary<TKey,TValue>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyCollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>, System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>, System.Collections.IDictionary
type SortedDictionary<'Key, 'Value> = class
    interface IDictionary<'Key, 'Value>
    interface IDictionary
    interface IReadOnlyDictionary<'Key, 'Value>
    interface ICollection<KeyValuePair<'Key, 'Value>>
    interface seq<KeyValuePair<'Key, 'Value>>
    interface IEnumerable
    interface ICollection
    interface IReadOnlyCollection<KeyValuePair<'Key, 'Value>>
Public Class SortedDictionary(Of TKey, TValue)
Implements ICollection(Of KeyValuePair(Of TKey, TValue)), IDictionary, IDictionary(Of TKey, TValue), IEnumerable(Of KeyValuePair(Of TKey, TValue)), IReadOnlyCollection(Of KeyValuePair(Of TKey, TValue)), IReadOnlyDictionary(Of TKey, TValue)

Parametry typu

TKey

Typ kluczy w słowniku.The type of the keys in the dictionary.

TValue

Typ wartości w słowniku.The type of the values in the dictionary.

Dziedziczenie
SortedDictionary<TKey,TValue>
Atrybuty
Implementuje

Przykłady

Poniższy przykład kodu tworzy puste SortedDictionary<TKey,TValue> ciągi z kluczami ciągu i Add używa metody do dodawania niektórych elementów.The following code example creates an empty SortedDictionary<TKey,TValue> of strings with string keys and uses the Add method to add some elements. W przykładzie pokazano, że Add Metoda ArgumentException zgłasza podczas próby dodania zduplikowanego klucza.The example demonstrates that the Add method throws an ArgumentException when attempting to add a duplicate key.

W przykładzie zastosowano Item[TKey] Właściwość (indeksator w C#) do pobierania wartości, KeyNotFoundException pokazując, że jest zgłaszany, gdy żądany klucz nie jest obecny i wskazuje, że wartość skojarzona z kluczem może zostać zastąpiona.The example uses the Item[TKey] property (the indexer in C#) to retrieve values, demonstrating that a KeyNotFoundException is thrown when a requested key is not present, and showing that the value associated with a key can be replaced.

Przykład pokazuje, jak użyć metody TryGetValue jako bardziej efektywnego sposobu pobierania wartości, jeśli program często musi wypróbowywać kluczowe wartości, które nie znajdują się w słowniku, i pokazuje, jak użyć metody ContainsKey, aby sprawdzić, czy klucz istnieje przed wywołaniem Add metoda.The example shows how to use the TryGetValue method as a more efficient way to retrieve values if a program often must try key values that are not in the dictionary, and it shows how to use the ContainsKey method to test whether a key exists before calling the Add method.

W przykładzie pokazano, jak wyliczyć klucze i wartości w słowniku oraz jak wyliczyć klucze i wartości przy użyciu Keys właściwości Values i właściwości.The example shows how to enumerate the keys and values in the dictionary and how to enumerate the keys and values alone using the Keys property and the Values property.

Na koniec przykład ilustruje Remove metodę.Finally, the example demonstrates the Remove method.

using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new sorted dictionary of strings, with string
        // keys.
        SortedDictionary<string, string> openWith = 
            new SortedDictionary<string, string>();

        // Add some elements to the dictionary. There are no 
        // duplicate keys, but some of the values are duplicates.
        openWith.Add("txt", "notepad.exe");
        openWith.Add("bmp", "paint.exe");
        openWith.Add("dib", "paint.exe");
        openWith.Add("rtf", "wordpad.exe");

        // The Add method throws an exception if the new key is 
        // already in the dictionary.
        try
        {
            openWith.Add("txt", "winword.exe");
        }
        catch (ArgumentException)
        {
            Console.WriteLine("An element with Key = \"txt\" already exists.");
        }

        // The Item property is another name for the indexer, so you 
        // can omit its name when accessing elements. 
        Console.WriteLine("For key = \"rtf\", value = {0}.", 
            openWith["rtf"]);

        // The indexer can be used to change the value associated
        // with a key.
        openWith["rtf"] = "winword.exe";
        Console.WriteLine("For key = \"rtf\", value = {0}.", 
            openWith["rtf"]);

        // If a key does not exist, setting the indexer for that key
        // adds a new key/value pair.
        openWith["doc"] = "winword.exe";

        // The indexer throws an exception if the requested key is
        // not in the dictionary.
        try
        {
            Console.WriteLine("For key = \"tif\", value = {0}.", 
                openWith["tif"]);
        }
        catch (KeyNotFoundException)
        {
            Console.WriteLine("Key = \"tif\" is not found.");
        }

        // When a program often has to try keys that turn out not to
        // be in the dictionary, TryGetValue can be a more efficient 
        // way to retrieve values.
        string value = "";
        if (openWith.TryGetValue("tif", out value))
        {
            Console.WriteLine("For key = \"tif\", value = {0}.", value);
        }
        else
        {
            Console.WriteLine("Key = \"tif\" is not found.");
        }

        // ContainsKey can be used to test keys before inserting 
        // them.
        if (!openWith.ContainsKey("ht"))
        {
            openWith.Add("ht", "hypertrm.exe");
            Console.WriteLine("Value added for key = \"ht\": {0}", 
                openWith["ht"]);
        }

        // When you use foreach to enumerate dictionary elements,
        // the elements are retrieved as KeyValuePair objects.
        Console.WriteLine();
        foreach( KeyValuePair<string, string> kvp in openWith )
        {
            Console.WriteLine("Key = {0}, Value = {1}", 
                kvp.Key, kvp.Value);
        }

        // To get the values alone, use the Values property.
        SortedDictionary<string, string>.ValueCollection valueColl = 
            openWith.Values;

        // The elements of the ValueCollection are strongly typed
        // with the type that was specified for dictionary values.
        Console.WriteLine();
        foreach( string s in valueColl )
        {
            Console.WriteLine("Value = {0}", s);
        }

        // To get the keys alone, use the Keys property.
        SortedDictionary<string, string>.KeyCollection keyColl = 
            openWith.Keys;

        // The elements of the KeyCollection are strongly typed
        // with the type that was specified for dictionary keys.
        Console.WriteLine();
        foreach( string s in keyColl )
        {
            Console.WriteLine("Key = {0}", s);
        }

        // Use the Remove method to remove a key/value pair.
        Console.WriteLine("\nRemove(\"doc\")");
        openWith.Remove("doc");

        if (!openWith.ContainsKey("doc"))
        {
            Console.WriteLine("Key \"doc\" is not found.");
        }
    }
}

/* This code example produces the following output:

An element with Key = "txt" already exists.
For key = "rtf", value = wordpad.exe.
For key = "rtf", value = winword.exe.
Key = "tif" is not found.
Key = "tif" is not found.
Value added for key = "ht": hypertrm.exe

Key = bmp, Value = paint.exe
Key = dib, Value = paint.exe
Key = doc, Value = winword.exe
Key = ht, Value = hypertrm.exe
Key = rtf, Value = winword.exe
Key = txt, Value = notepad.exe

Value = paint.exe
Value = paint.exe
Value = winword.exe
Value = hypertrm.exe
Value = winword.exe
Value = notepad.exe

Key = bmp
Key = dib
Key = doc
Key = ht
Key = rtf
Key = txt

Remove("doc")
Key "doc" is not found.
 */
Imports System.Collections.Generic

Public Class Example
    
    Public Shared Sub Main() 

        ' Create a new sorted dictionary of strings, with string 
        ' keys. 
        Dim openWith As New SortedDictionary(Of String, String)
        
        ' Add some elements to the dictionary. There are no 
        ' duplicate keys, but some of the values are duplicates.
        openWith.Add("txt", "notepad.exe")
        openWith.Add("bmp", "paint.exe")
        openWith.Add("dib", "paint.exe")
        openWith.Add("rtf", "wordpad.exe")
        
        ' The Add method throws an exception if the new key is 
        ' already in the dictionary.
        Try
            openWith.Add("txt", "winword.exe")
        Catch 
            Console.WriteLine("An element with Key = ""txt"" already exists.")
        End Try

        ' The Item property is the default property, so you 
        ' can omit its name when accessing elements. 
        Console.WriteLine("For key = ""rtf"", value = {0}.", _
            openWith("rtf"))
        
        ' The default Item property can be used to change the value
        ' associated with a key.
        openWith("rtf") = "winword.exe"
        Console.WriteLine("For key = ""rtf"", value = {0}.", _
            openWith("rtf"))
        
        ' If a key does not exist, setting the default Item property
        ' for that key adds a new key/value pair.
        openWith("doc") = "winword.exe"

        ' The default Item property throws an exception if the requested
        ' key is not in the dictionary.
        Try
            Console.WriteLine("For key = ""tif"", value = {0}.", _
                openWith("tif"))
        Catch 
            Console.WriteLine("Key = ""tif"" is not found.")
        End Try

        ' When a program often has to try keys that turn out not to
        ' be in the dictionary, TryGetValue can be a more efficient 
        ' way to retrieve values.
        Dim value As String = ""
        If openWith.TryGetValue("tif", value) Then
            Console.WriteLine("For key = ""tif"", value = {0}.", value)
        Else
            Console.WriteLine("Key = ""tif"" is not found.")
        End If

        ' ContainsKey can be used to test keys before inserting 
        ' them.
        If Not openWith.ContainsKey("ht") Then
            openWith.Add("ht", "hypertrm.exe")
            Console.WriteLine("Value added for key = ""ht"": {0}", _
                openWith("ht"))
        End If

        ' When you use foreach to enumerate dictionary elements,
        ' the elements are retrieved as KeyValuePair objects.
        Console.WriteLine()
        For Each kvp As KeyValuePair(Of String, String) In openWith
            Console.WriteLine("Key = {0}, Value = {1}", _
                kvp.Key, kvp.Value)
        Next kvp

        ' To get the values alone, use the Values property.
        Dim valueColl _
            As SortedDictionary(Of String, String).ValueCollection = _
            openWith.Values
        
        ' The elements of the ValueCollection are strongly typed
        ' with the type that was specified for dictionary values.
        Console.WriteLine()
        For Each s As String In valueColl 
            Console.WriteLine("Value = {0}", s)
        Next s

        ' To get the keys alone, use the Keys property.
        Dim keyColl _
            As SortedDictionary(Of String, String).KeyCollection = _
            openWith.Keys
        
        ' The elements of the KeyCollection are strongly typed
        ' with the type that was specified for dictionary keys.
        Console.WriteLine()
        For Each s As String In keyColl 
            Console.WriteLine("Key = {0}", s)
        Next s

        ' Use the Remove method to remove a key/value pair.
        Console.WriteLine(vbLf + "Remove(""doc"")")
        openWith.Remove("doc")
        
        If Not openWith.ContainsKey("doc") Then
            Console.WriteLine("Key ""doc"" is not found.")
        End If

    End Sub

End Class

' This code example produces the following output:
'
'An element with Key = "txt" already exists.
'For key = "rtf", value = wordpad.exe.
'For key = "rtf", value = winword.exe.
'Key = "tif" is not found.
'Key = "tif" is not found.
'Value added for key = "ht": hypertrm.exe
'
'Key = bmp, Value = paint.exe
'Key = dib, Value = paint.exe
'Key = doc, Value = winword.exe
'Key = ht, Value = hypertrm.exe
'Key = rtf, Value = winword.exe
'Key = txt, Value = notepad.exe
'
'Value = paint.exe
'Value = paint.exe
'Value = winword.exe
'Value = hypertrm.exe
'Value = winword.exe
'Value = notepad.exe
'
'Key = bmp
'Key = dib
'Key = doc
'Key = ht
'Key = rtf
'Key = txt
'
'Remove("doc")
'Key "doc" is not found.
' 

Uwagi

Klasa SortedDictionary<TKey,TValue> generyczna to binarne drzewo wyszukiwania o wartości o (log n), gdzie n to liczba elementów w słowniku.The SortedDictionary<TKey,TValue> generic class is a binary search tree with O(log n) retrieval, where n is the number of elements in the dictionary. W tym aspekcie jest podobna do SortedList<TKey,TValue> klasy generycznej.In this respect, it is similar to the SortedList<TKey,TValue> generic class. Dwie klasy mają podobne modele obiektów i oba te elementy mają pobieranie (log n).The two classes have similar object models, and both have O(log n) retrieval. W przypadku, gdy obie klasy różnią się w zakresie wykorzystania pamięci i szybkości wstawiania i usuwania:Where the two classes differ is in memory use and speed of insertion and removal:

Każdą parę klucz/wartość można pobrać jako KeyValuePair<TKey,TValue> strukturę lub DictionaryEntry za pomocą nieogólnego IDictionary interfejsu.Each key/value pair can be retrieved as a KeyValuePair<TKey,TValue> structure, or as a DictionaryEntry through the nongeneric IDictionary interface.

Klucze muszą być niezmienne, o ile są używane jako klucze w SortedDictionary<TKey,TValue>.Keys must be immutable as long as they are used as keys in the SortedDictionary<TKey,TValue>. Każdy klucz w a SortedDictionary<TKey,TValue> musi być unikatowy.Every key in a SortedDictionary<TKey,TValue> must be unique. Klucz nie może być null, ale wartość może być, jeśli typem TValue wartości jest typ referencyjny.A key cannot be null, but a value can be, if the value type TValue is a reference type.

SortedDictionary<TKey,TValue>wymaga implementacji porównującej do przeprowadzenia porównania kluczy.SortedDictionary<TKey,TValue> requires a comparer implementation to perform key comparisons. Można określić implementację IComparer<T> interfejsu generycznego za pomocą konstruktora, który comparer akceptuje parametr; Jeśli nie określisz implementacji, zostanie użyta domyślna GenericComparer — Comparer<T>.Default .You can specify an implementation of the IComparer<T> generic interface by using a constructor that accepts a comparer parameter; if you do not specify an implementation, the default genericcomparer Comparer<T>.Default is used. Jeśli typ TKey System.IComparable<T> implementuje interfejs ogólny, domyślna funkcja porównująca używa tej implementacji.If type TKey implements the System.IComparable<T> generic interface, the default comparer uses that implementation.

foreach Instrukcja C# języka(for each C++w ,For Each w Visual Basic) zwraca obiekt typu elementów w kolekcji.The foreach statement of the C# language (for each in C++, For Each in Visual Basic) returns an object of the type of the elements in the collection. Ponieważ każdy element SortedDictionary<TKey,TValue> jest parą klucz/wartość, typ elementu nie jest typem klucza ani typem wartości.Since each element of the SortedDictionary<TKey,TValue> is a key/value pair, the element type is not the type of the key or the type of the value. Zamiast tego typ elementu to KeyValuePair<TKey,TValue>.Instead, the element type is KeyValuePair<TKey,TValue>. Poniższy kod ilustruje C# C++składnię i Visual Basic.The following code shows C#, C++, and Visual Basic syntax.

for each(KeyValuePair<String^, String^> kvp in myDictionary)
{
    Console::WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
foreach( KeyValuePair<string, string> kvp in myDictionary )
{
    Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
}
For Each kvp As KeyValuePair(Of String, String) In myDictionary
    Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value)
Next kvp

foreach Instrukcja to otoka wokół modułu wyliczającego, która umożliwia odczytywanie danych z kolekcji, a nie zapisywanie w niej.The foreach statement is a wrapper around the enumerator, which allows only reading from the collection, not writing to it.

Konstruktory

SortedDictionary<TKey,TValue>()

Inicjuje nowe wystąpienie SortedDictionary<TKey,TValue> klasy, która jest pusta i używa domyślnej IComparer<T> implementacji dla typu klucza.Initializes a new instance of the SortedDictionary<TKey,TValue> class that is empty and uses the default IComparer<T> implementation for the key type.

SortedDictionary<TKey,TValue>(IComparer<TKey>)

Inicjuje nowe wystąpienie SortedDictionary<TKey,TValue> klasy, która jest pusta i używa określonej IComparer<T> implementacji do porównywania kluczy.Initializes a new instance of the SortedDictionary<TKey,TValue> class that is empty and uses the specified IComparer<T> implementation to compare keys.

SortedDictionary<TKey,TValue>(IDictionary<TKey,TValue>)

Inicjuje nowe wystąpienie SortedDictionary<TKey,TValue> klasy zawierającej elementy skopiowane z określonego IDictionary<TKey,TValue> i używa domyślnej IComparer<T> implementacji dla typu klucza.Initializes a new instance of the SortedDictionary<TKey,TValue> class that contains elements copied from the specified IDictionary<TKey,TValue> and uses the default IComparer<T> implementation for the key type.

SortedDictionary<TKey,TValue>(IDictionary<TKey,TValue>, IComparer<TKey>)

Inicjuje nowe wystąpienie SortedDictionary<TKey,TValue> klasy, która zawiera elementy skopiowane z określonego IDictionary<TKey,TValue> i używa określonej IComparer<T> implementacji do porównywania kluczy.Initializes a new instance of the SortedDictionary<TKey,TValue> class that contains elements copied from the specified IDictionary<TKey,TValue> and uses the specified IComparer<T> implementation to compare keys.

Właściwości

Comparer

Pobiera elementy do uporządkowania SortedDictionary<TKey,TValue>. IComparer<T>Gets the IComparer<T> used to order the elements of the SortedDictionary<TKey,TValue>.

Count

Pobiera liczbę par klucz/wartość zawartych w SortedDictionary<TKey,TValue>.Gets the number of key/value pairs contained in the SortedDictionary<TKey,TValue>.

Item[TKey]

Pobiera lub ustawia wartość skojarzoną z określonym kluczem.Gets or sets the value associated with the specified key.

Keys

Pobiera kolekcję zawierającą klucze z SortedDictionary<TKey,TValue>.Gets a collection containing the keys in the SortedDictionary<TKey,TValue>.

Values

Pobiera kolekcję zawierającą wartości SortedDictionary<TKey,TValue>z.Gets a collection containing the values in the SortedDictionary<TKey,TValue>.

Metody

Add(TKey, TValue)

Dodaje element z określonym kluczem i wartością do SortedDictionary<TKey,TValue>.Adds an element with the specified key and value into the SortedDictionary<TKey,TValue>.

Clear()

Usuwa wszystkie elementy z SortedDictionary<TKey,TValue>.Removes all elements from the SortedDictionary<TKey,TValue>.

ContainsKey(TKey)

Określa, SortedDictionary<TKey,TValue> czy zawiera element z określonym kluczem.Determines whether the SortedDictionary<TKey,TValue> contains an element with the specified key.

ContainsValue(TValue)

Określa, SortedDictionary<TKey,TValue> czy zawiera element z określoną wartością.Determines whether the SortedDictionary<TKey,TValue> contains an element with the specified value.

CopyTo(KeyValuePair<TKey,TValue>[], Int32)

Kopiuje elementy SortedDictionary<TKey,TValue> do określonej KeyValuePair<TKey,TValue> tablicy struktur, rozpoczynając od określonego indeksu.Copies the elements of the SortedDictionary<TKey,TValue> to the specified array of KeyValuePair<TKey,TValue> structures, starting at the specified index.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który wykonuje iterację przez SortedDictionary<TKey,TValue>.Returns an enumerator that iterates through the SortedDictionary<TKey,TValue>.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Objectelementu.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Remove(TKey)

Usuwa element z określonym kluczem z SortedDictionary<TKey,TValue>.Removes the element with the specified key from the SortedDictionary<TKey,TValue>.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
TryGetValue(TKey, TValue)

Pobiera wartość skojarzoną z określonym kluczem.Gets the value associated with the specified key.

Jawne implementacje interfejsu

ICollection.CopyTo(Array, Int32)

Kopiuje elementy ICollection<T> do tablicy, rozpoczynając od określonego indeksu tablicy.Copies the elements of the ICollection<T> to an array, starting at the specified array index.

ICollection.IsSynchronized

Pobiera wartość wskazującą, ICollection czy dostęp do elementu jest synchronizowany (bezpieczny wątkowo).Gets a value indicating whether access to the ICollection is synchronized (thread safe).

ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do ICollection.Gets an object that can be used to synchronize access to the ICollection.

ICollection<KeyValuePair<TKey,TValue>>.Add(KeyValuePair<TKey,TValue>)

Dodaje element do ICollection<T>elementu.Adds an item to the ICollection<T>.

ICollection<KeyValuePair<TKey,TValue>>.Contains(KeyValuePair<TKey,TValue>)

Określa, ICollection<T> czy zawiera określony klucz i wartość.Determines whether the ICollection<T> contains a specific key and value.

ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly

Pobiera wartość wskazującą, czy jest ICollection<T> tylko do odczytu.Gets a value indicating whether the ICollection<T> is read-only.

ICollection<KeyValuePair<TKey,TValue>>.Remove(KeyValuePair<TKey,TValue>)

Usuwa pierwsze wystąpienie określonego elementu z ICollection<T>.Removes the first occurrence of the specified element from the ICollection<T>.

IDictionary.Add(Object, Object)

Dodaje element z podanym kluczem i wartością do IDictionary.Adds an element with the provided key and value to the IDictionary.

IDictionary.Contains(Object)

Określa, IDictionary czy zawiera element z określonym kluczem.Determines whether the IDictionary contains an element with the specified key.

IDictionary.GetEnumerator()

IDictionaryEnumerator Zwraca wartośćIDictionarydla.Returns an IDictionaryEnumerator for the IDictionary.

IDictionary.IsFixedSize

Pobiera wartość wskazującą, IDictionary czy ma stały rozmiar.Gets a value indicating whether the IDictionary has a fixed size.

IDictionary.IsReadOnly

Pobiera wartość wskazującą, czy jest IDictionary tylko do odczytu.Gets a value indicating whether the IDictionary is read-only.

IDictionary.Item[Object]

Pobiera lub ustawia element z określonym kluczem.Gets or sets the element with the specified key.

IDictionary.Keys

Pobiera zawierający klucze IDictionary. ICollectionGets an ICollection containing the keys of the IDictionary.

IDictionary.Remove(Object)

Usuwa element z określonym kluczem z IDictionary.Removes the element with the specified key from the IDictionary.

IDictionary.Values

Pobiera zawierający wartości z IDictionary. ICollectionGets an ICollection containing the values in the IDictionary.

IDictionary<TKey,TValue>.Keys

Pobiera zawierający klucze IDictionary<TKey,TValue>. ICollection<T>Gets an ICollection<T> containing the keys of the IDictionary<TKey,TValue>.

IDictionary<TKey,TValue>.Values

Pobiera zawierający wartości z IDictionary<TKey,TValue>. ICollection<T>Gets an ICollection<T> containing the values in the IDictionary<TKey,TValue>.

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który dokonuje iteracji w kolekcji.Returns an enumerator that iterates through the collection.

IEnumerable<KeyValuePair<TKey,TValue>>.GetEnumerator()

Zwraca moduł wyliczający, który dokonuje iteracji w kolekcji.Returns an enumerator that iterates through a collection.

IReadOnlyDictionary<TKey,TValue>.Keys

Pobiera kolekcję zawierającą klucze z SortedDictionary<TKey,TValue>.Gets a collection containing the keys in the SortedDictionary<TKey,TValue>.

IReadOnlyDictionary<TKey,TValue>.Values

Pobiera kolekcję zawierającą wartości SortedDictionary<TKey,TValue>z.Gets a collection containing the values in the SortedDictionary<TKey,TValue>.

Metody rozszerzania

GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey)

Próbuje pobrać wartość skojarzoną z określonym key w dictionary.Tries to get the value associated with the specified key in the dictionary.

GetValueOrDefault<TKey,TValue>(IReadOnlyDictionary<TKey,TValue>, TKey, TValue)

Próbuje pobrać wartość skojarzoną z określonym kluczem w dictionary.Tries to get the value associated with the specified key in the dictionary.

Remove<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)

Próbuje usunąć wartość o określonym key z dictionary.Tries to remove the value with the specified key from the dictionary.

TryAdd<TKey,TValue>(IDictionary<TKey,TValue>, TKey, TValue)

Próbuje dodać określony key i value do dictionary.Tries to add the specified key and value to the dictionary.

CopyToDataTable<T>(IEnumerable<T>)

DataRow T IEnumerable<T> Zwraca obiekt, DataRow który zawiera kopie obiektów, z uwzględnieniem obiektu wejściowego, w którym parametr generyczny jest. DataTableReturns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Kopiuje DataRow obiekty do określonego DataTable, przy użyciu obiektu wejściowego IEnumerable<T> , w którym jest T DataRowparametr generyczny.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Kopiuje DataRow obiekty do określonego DataTable, przy użyciu obiektu wejściowego IEnumerable<T> , w którym jest T DataRowparametr generyczny.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable do określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerable KonwertujeIQueryabledo.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Zwraca kolekcję elementów, które zawierają elementy nadrzędne każdego węzła w kolekcji źródłowej.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName)

Zwraca przefiltrowany kolekcji elementów, które zawierają elementy nadrzędne każdego węzła w kolekcji źródłowej.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Kolekcja zawiera tylko elementy, które XName mają zgodne.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Zwraca kolekcję węzłów podrzędnych każdego dokumentu i elementu w kolekcji źródłowej.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Zwraca kolekcję elementów, które zawierają elementy podrzędne każdego elementu i dokumentu w kolekcji źródłowej.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName)

Zwraca przefiltrowany kolekcji elementów, które zawierają elementy podrzędne każdego elementu i dokumentu w kolekcji źródłowej.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Kolekcja zawiera tylko elementy, które XName mają zgodne.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Zwraca kolekcję elementów podrzędnych każdego elementu i dokumentu w kolekcji źródłowej.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName)

Zwraca filtrowaną kolekcję elementów podrzędnych każdego elementu i dokumentu w kolekcji źródłowej.Returns a filtered collection of the child elements of every element and document in the source collection. Kolekcja zawiera tylko elementy, które XName mają zgodne.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Zwraca kolekcję węzłów, która zawiera wszystkie węzły w kolekcji źródłowej, posortowane w kolejności dokumentu.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Zwraca kolekcję węzłów podrzędnych każdego dokumentu i elementu w kolekcji źródłowej.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Usuwa każdy węzeł w kolekcji źródłowej z węzła nadrzędnego.Removes every node in the source collection from its parent node.

Dotyczy

Bezpieczeństwo wątkowe

Publiczne statyczne (Shared w Visual Basic) członkowie tego typu są bezpieczne wątkowo.Public static (Shared in Visual Basic) members of this type are thread safe. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.Any instance members are not guaranteed to be thread safe.

SortedDictionary<TKey,TValue> Może obsługiwać wielu czytników współbieżnie, o ile kolekcja nie jest modyfikowana.A SortedDictionary<TKey,TValue> can support multiple readers concurrently, as long as the collection is not modified. Nawet w ten sposób Wyliczanie za pomocą kolekcji nie jest w sposób wewnętrzny bezpieczny dla wątków.Even so, enumerating through a collection is intrinsically not a thread-safe procedure. Aby zagwarantować bezpieczeństwo wątków podczas wyliczania, można zablokować kolekcję podczas całego procesu wyliczania.To guarantee thread safety during enumeration, you can lock the collection during the entire enumeration. Aby zezwolić wielu wątkom na dostęp do kolekcji w celu odczytu i zapisu danych, należy zaimplementować własny mechanizm synchronizacji.To allow the collection to be accessed by multiple threads for reading and writing, you must implement your own synchronization.

Zobacz też