다음을 통해 공유


IMap<K,V> 인터페이스

정의

맵 또는 사전이라고도 하는 결합 컬렉션을 나타냅니다.

.Net 이 인터페이스는 .NET 언어 프로젝션으로 인해 .NET 코드에 System.Collections.Generic.IDictionary<TKey,TValue> 로 표시됩니다. Windows 런타임 형식이 IMap K,V>를 구현한 경우 .NET 코드는 IDictionary<TKey,TValue>의 API를 대신 사용할 수 있습니다.<

public interface class IMap : IIterable<IKeyValuePair<K, V> ^>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(1009329662, 34073, 17857, 170, 121, 25, 123, 103, 24, 193, 193)]
template <typename K, typename V>
struct IMap : IIterable<IKeyValuePair<K, V>>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(1009329662, 34073, 17857, 170, 121, 25, 123, 103, 24, 193, 193)]
public interface IDictionary<K,V> : IEnumerable<KeyValuePair<K,V>>
Public Interface IDictionary(Of K, V)
Implements IEnumerable(Of KeyValuePair(Of K, V))

형식 매개 변수

K
V
특성
구현

Windows 요구 사항

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

설명

.NET으로 프로그래밍할 때 이 인터페이스는 숨겨지고 개발자는 맵/사전 형식을 구현하려는 경우 System.Collections.Generic.IDictionary<TKey,TValue> 인터페이스를 사용해야 합니다. Windows 런타임 형식이 IMap K,V>를 구현한 경우 .NET 코드는 IDictionary<TKey,TValue>의 API를 대신 사용할 수 있습니다.< 여기에는 모든 기존 Windows 런타임 API와 C# 또는 Visual Basic 앱의 Visual C++ 구성 요소 확장(C++/CX)에서 원래 구현된 Windows 런타임 구성 요소의 API 사용과 같은 시나리오도 포함됩니다.

IMap<K,V> 인터페이스는 연결된 키로 값에 액세스할 수 있는 키-값 쌍의 컬렉션을 나타냅니다. IMap<K,V> 의 속성 및 메서드는 컬렉션 크기를 가져오고 컬렉션의 지정된 위치에서 항목을 추가 및 제거하는 등의 사전 형식 기능을 지원합니다. 또한 GetView 메서드는 관찰 가능한 상태가 변경되지 않는 맵의 스냅샷 제공합니다. 이 스냅샷 IMap<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 함수를 참조하세요.

auto begin() const;

범위 기반 for 루프와 같은 C++ 알고리즘에서 사용하기 위해 컬렉션의 첫 번째 키-값 쌍에 반복기를 반환합니다.

auto end() const;

범위 기반 for 루프와 같은 C++ 알고리즘에서 사용하기 위해 컬렉션의 마지막 키-값 쌍을 지나서 반복기를 반환합니다.

auto TryLookup(param_type<K> const& key) const;

키를 사용하여 맵의 요소를 조회하려고 시도합니다. 참조 형식의 경우 은 찾은 nullptr 경우 또는 찾을 수 없는 경우 값을 반환합니다. 값 형식의 경우 는 std::optional<V를 반환합니다. 이 V>는 찾은 경우 값을 보유하거나 찾을 수 없는 경우 값이 없습니다.

bool TryRemove(param_type<K> const& key) const;

있는 경우 키 키를 사용하여 맵의 요소를 제거합니다. 요소를 찾아서 제거한 경우 를 반환 true 합니다. 요소를 찾을 수 없는 경우 를 반환 false 합니다.

인터페이스 상속

IMap<K,V>는 동일한 키 및 값 형식을 사용하는 IKeyValuePair 제약 조건을 사용하여 IIterable을 상속합니다. IMap<K,V>를 구현하는 형식은 IKeyValuePair 형식 제약 조건이 동일한 키와 값을 공유하는 IIterable의 인터페이스 멤버도 구현합니다. 마찬가지로 .NET을 사용하는 경우 IDictionary<TKey,TValue>>구현과 동일한 키 및 값 형식을 사용하는 KeyValuePair로 제약 조건 형식을 사용하는 IEnumerabe< T에 대한 지원이 있습니다.

속성

Size

맵의 항목 수를 가져옵니다.

메서드

Clear()

맵에서 모든 항목을 제거합니다.

GetView()

맵의 변경할 수 없는 보기를 반환합니다.

HasKey(K)

맵에 지정된 키가 포함되어 있는지 여부를 확인합니다.

Insert(K, V)

맵에서 항목을 삽입하거나 바꿉니다.

Lookup(K)

맵의 지정된 키에 있는 항목을 반환합니다.

Remove(K)

맵에서 항목을 제거합니다.

적용 대상

추가 정보