IMap<K,V> インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
マップまたは辞書とも呼ばれる連想コレクションを表します。
。ネット このインターフェイスは、.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
- 属性
- 実装
-
IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<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) |
マップから項目を削除します。 |