IKeyValuePair<K,V> Antarmuka

Definisi

Mewakili pasangan kunci-nilai. Ini biasanya digunakan sebagai jenis batasan ketika Anda perlu merangkum dua parameter jenis menjadi satu untuk memenuhi batasan antarmuka generik lainnya.

.BERSIH Antarmuka ini muncul sebagai System.Collections.Generic.KeyValuePair<TKey,TValue> (struktur, bukan antarmuka). Dalam kasus apa pun di mana jenis Windows Runtime telah menerapkan kode IKeyValuePair<K,V>, .NET dapat menggunakan API KeyValuePair sebagai gantinya.

public interface class IKeyValuePair
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(45422889, 49604, 19070, 137, 64, 3, 18, 181, 193, 133, 0)]
template <typename K, typename V>
struct IKeyValuePair
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(45422889, 49604, 19070, 137, 64, 3, 18, 181, 193, 133, 0)]
public interface KeyValuePair<K,V>
Public Interface KeyValuePair(Of K, V)

Jenis parameter

K
V
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (diperkenalkan dalam v1.0)

Keterangan

Saat pemrograman dengan .NET, antarmuka ini tersembunyi dan pengembang harus menggunakan struktur System.Collections.Generic.KeyValuePair<TKey,TValue> . Dalam kasus apa pun di mana jenis Windows Runtime telah menerapkan IKeyValuePair<K,V>, termasuk ketika antarmuka telah mewarisi IKeyValuePair<K, V> atau menggunakannya sebagai batasan dalam, kode .NET dapat memperlakukannya sebagai .NET KeyValuePair.

Pasangan kunci-nilai digunakan dalam antarmuka IMap<K,V> , ketika mewarisi IIterable<T>. Implementasi praktis IMap<K, V> dapat diulang, dan iterasi atau panggilan First/Current secara eksplisit akan mengembalikan instans IKeyValuePair<K,V> menggunakan batasan yang sama seperti implementasi IMap<K,V> .

Fungsi ekstensi C++/WinRT

Catatan

Fungsi ekstensi ada pada jenis proyeksi C++/WinRT untuk API Windows Runtime tertentu. Misalnya, winrt::Windows::Foundation::IAsyncAction adalah jenis proyeksi C++/WinRT untuk IAsyncAction. Fungsi ekstensi bukan bagian dari permukaan antarmuka biner aplikasi (ABI) dari jenis Windows Runtime yang sebenarnya, sehingga tidak terdaftar sebagai anggota API Windows Runtime. Tetapi Anda dapat memanggilnya dari dalam proyek C++/WinRT apa pun. Lihat fungsi C++/WinRT yang memperluas WINDOWS Runtime API.

operator==

Membandingkan dua objek KeyValuePair , bandingkan kunci dan nilai daripada membandingkan antarmuka.

Pengikatan terstruktur (C++/WinRT)

IKeyValuePair<K, V> mendukung pengikatan terstruktur. Misalnya,

auto&& [key, value] = kvp;

setara dengan,

auto key = kvp.Key();
auto value = kvp.Value();

Pengikatan terstruktur sangat nyaman dalam perulangan berbasis for rentang, memungkinkan Anda melakukan iterasi melalui pasangan kunci/nilai peta.

winrt::Windows::Foundation::Collections::IMap<K, V> map;
for (auto&& [key, value] : map) { ... }

Properti

Key

Mendapatkan kunci pasangan kunci-nilai.

Value

Mendapatkan nilai pasangan kunci-nilai.

Berlaku untuk

Lihat juga