IKeyValuePair<K,V> 인터페이스

정의

키-값 쌍을 나타냅니다. 일반적으로 다른 제네릭 인터페이스의 제약 조건을 충족하기 위해 두 형식 매개 변수를 하나로 캡슐화해야 하는 경우 제약 조건 형식으로 사용됩니다.

.Net 이 인터페이스는 System.Collections.Generic.KeyValuePair<TKey,TValue> (인터페이스가 아닌 구조체)로 나타납니다. Windows 런타임 형식이 IKeyValuePair<K,V>를 구현한 경우 .NET 코드는 KeyValuePair의 API를 대신 사용할 수 있습니다.

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)

형식 매개 변수

K
V
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.FoundationContract (v1.0에서 도입되었습니다.)

설명

.NET을 사용하여 프로그래밍할 때 이 인터페이스는 숨겨지고 개발자는 System.Collections.Generic.KeyValuePair<TKey,TValue> 구조를 사용해야 합니다. 인터페이스가 IKeyValuePair K,V>를 상속하거나 내부 제약 조건으로 사용하는 경우를 포함하여 Windows 런타임 형식이 IKeyValuePair<<K,V>를 구현한 경우 .NET 코드는 이를 .NET KeyValuePair로 처리할 수 있습니다.

키-값 쌍은 IIterable<T>를 상속할 때 IMap<K,V> 인터페이스에서 사용됩니다. IMap<K,V>의 실제 구현은 반복 가능하며 FirstCurrent를 반복하거나 호출/하면 IMap<K,V 구현과 동일한 제약 조건을 사용하여 IKeyValuePair<K,V>> 인스턴스를 명시적으로 반환합니다.

C++/WinRT 확장 함수

참고

확장 함수는 특정 Windows 런타임 API에 대한 C++/WinRT 프로젝션 형식에 있습니다. 예를 들어 winrt::Windows::Foundation::IAsyncAction은 IAsyncAction 에 대한 C++/WinRT 프로젝션 형식 입니다. 확장 함수는 실제 Windows 런타임 형식의 ABI(애플리케이션 이진 인터페이스) 화면의 일부가 아니므로 Windows 런타임 API의 멤버로 나열되지 않습니다. 그러나 C++/WinRT 프로젝트 내에서 호출할 수 있습니다. Windows 런타임 API를 확장하는 C++/WinRT 함수를 참조하세요.

operator==

KeyValuePair 개체를 비교하면 인터페이스를 비교하는 대신 키와 값을 비교합니다.

구조적 바인딩(C++/WinRT)

IKeyValuePair<K, V> 는 구조적 바인딩을 지원합니다. 예를 들면 다음과 같습니다.

auto&& [key, value] = kvp;

은 다음과 같습니다.

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

구조화된 바인딩은 범위 기반 for 루프에서 특히 편리하므로 맵의 키/값 쌍을 반복할 수 있습니다.

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

속성

Key

키-값 쌍의 키를 가져옵니다.

Value

키-값 쌍의 값을 가져옵니다.

적용 대상

추가 정보