IMap<K,V> インターフェイス

定義

マップまたは辞書とも呼ばれる連想コレクションを表します。

。ネット このインターフェイスは、.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++ アルゴリズムで使用するために、コレクションの最後のキーと値のペアの 1 つ後の反復子を返します。

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)

マップから項目を削除します。

適用対象

こちらもご覧ください