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> структуры.
Этот код является частью более крупного примера, предоставленного Dictionary<TKey,TValue> для класса.
// 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 в Visual Basic) возвращает объект типа элементов в коллекции. Так как каждый элемент коллекции основан IDictionary<TKey,TValue> на паре "ключ-значение", тип элемента не является типом ключа или типа значения. Вместо этого тип элемента имеет тип KeyValuePair<TKey,TValue>. Рассмотрим пример.
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>объекта, используя строковые представления ключа и значения. |