KeyValuePair<TKey,TValue> Структура

Определение

Определяет пару "ключ-значение", которая может быть задана или получена.

generic <typename TKey, typename TValue>
public value class KeyValuePair
public struct KeyValuePair<TKey,TValue>
public readonly struct KeyValuePair<TKey,TValue>
[System.Serializable]
public struct KeyValuePair<TKey,TValue>
type KeyValuePair<'Key, 'Value> = struct
[<System.Serializable>]
type KeyValuePair<'Key, 'Value> = struct
Public Structure KeyValuePair(Of TKey, TValue)

Параметры типа

TKey

Тип ключа.

TValue

Тип значения.

Наследование
KeyValuePair<TKey,TValue>
Атрибуты

Примеры

В следующем примере кода показано, как перечислить ключи и значения в словаре с помощью KeyValuePair<TKey,TValue> структуры .

Этот код является частью более крупного примера, предоставленного Dictionary<TKey,TValue> для класса .

// When you use foreach to enumerate dictionary elements,
// the elements are retrieved as KeyValuePair objects.
Console::WriteLine();
for each( KeyValuePair<String^, String^> kvp in openWith )
{
    Console::WriteLine("Key = {0}, Value = {1}",
        kvp.Key, kvp.Value);
}
// 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);
}
' 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

Комментарии

Свойство Dictionary<TKey,TValue>.Enumerator.Current возвращает экземпляр этого типа.

Оператор foreach языка C# (for each в C++, For Each в Visual Basic) возвращает объект типа элементов в коллекции. Так как каждый элемент коллекции, основанной на IDictionary<TKey,TValue> , является парой "ключ-значение", тип элемента не является типом ключа или типом значения. Вместо этого используется KeyValuePair<TKey,TValue>тип элемента . Пример:

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 представляет собой оболочку для перечислителя, которая позволяет выполнять только чтение из коллекции, а не запись в коллекцию.

Конструкторы

KeyValuePair<TKey,TValue>(TKey, TValue)

Инициализирует новый экземпляр структуры KeyValuePair<TKey,TValue> с использованием указанных ключа и значения.

Свойства

Key

Возвращает ключ из пары "ключ-значение".

Value

Возвращает значение из пары "ключ-значение".

Методы

Deconstruct(TKey, TValue)

Деконструирует текущий объект KeyValuePair<TKey,TValue>.

ToString()

Возвращает строковое представление структуры KeyValuePair<TKey,TValue>, используя строковые представления ключа и значения.

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

См. также раздел