IKeyValuePair<K,V> Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |