次の方法で共有


Platform::Collections::Map クラス

キー/値ペアのコレクションである マップを表します。 XAML データ バインディングを支援するために Windows::Foundation::Collections::IObservableMap を実装します。

構文

template <
   typename K,
   typename V,
   typename C = std::less<K>>
ref class Map sealed;

パラメーター

K
キー/値ペア内のキーの型。

V
キー/値ペア内の値の型。

C
並べ替えキーとして 2 つの要素値を比較してマップ内の相対順序を決定できる関数オブジェクトを提供する型。 既定では、std::less<K> です。

__is_valid_winrt_type() K および V の型を検証し、型がマップ内に格納できない場合は簡易エラー メッセージを示す、コンパイラにより生成される関数。

解説

使用できる型は次のとおりです。

  • integers

  • インターフェイス クラス^

  • パブリック ref クラス ^

  • value struct

  • パブリック列挙型クラス

マップは、基本的に std::mapのラッパーです。 パブリック Windows ランタイム インターフェイスを通じて渡される Windows::Foundation::Collections::IMap<Windows::Foundation::Collections::IKeyValuePair<K,V>> 型と IObservableMap 型の C++ 具象実装です。 パブリックの戻り値またはパラメーターで Platform::Collections::Map 型を使用しようとすると、コンパイラ エラー C3986 が発生します。 エラーを修正するには、パラメーターや戻り値の型を Windows::Foundation::Collections::IMap<K,V> に変更します。

詳細については、コレクション を参照してください。

メンバー

パブリック コンストラクター

名前 説明
Map::Map マップ クラスの新しいインスタンスを初期化します。

パブリック メソッド

名前 説明
Map::Clear 現在のマップ オブジェクトから、すべてのキー/値ペアを削除します。
Map::First マップ内の最初の要素を指定する反復子を返します。
Map::GetView 現在のマップの読み取り専用ビュー ( Platform::Collections::MapView Class) を返します。
Map::HasKey 指定したキーが現在のマップに格納されているかどうかを判定します。
Map::Insert 指定したキー/値ペアを現在のマップ オブジェクトに追加します。
Map::Lookup 現在のマップ オブジェクト内の指定されたキーの位置の要素を取得します。
Map::Remove 指定したキー/値ペアを現在のマップ オブジェクトから削除します。
Map::Size 現在のマップ オブジェクト内の要素数を返します。

イベント

Name 説明
Map::MapChanged イベント マップが変更されたときに発生します。

継承階層

Map

要件

ヘッダー: collection.h

名前空間: Platform::Collections

Map::Clear メソッド

現在のマップ オブジェクトから、すべてのキー/値ペアを削除します。

構文

virtual void Clear();

Map::First メソッド

マップ内の最初の要素を指定する反復子、またはマップが空の場合は nullptr を返します。

構文

virtual Windows::Foundation::Collections::IIterator<
Windows::Foundation::Collections::IKeyValuePair<K, V>^>^ First();

戻り値

マップ内の最初の要素を指定する反復子。

解説

First() によって返される反復子を保持する便利な方法は、auto 型推論キーワードで宣言された変数に戻り値を代入することです。 たとえば、auto x = myMap->First(); のようにします。

Map::GetView メソッド

現在のマップの読み取り専用ビュー、つまり、Windows::Foundation::Collections::IMapView<K,V> インターフェイスを実装する Platform::Collections::MapView クラスを返します。

構文

Windows::Foundation::Collections::IMapView<K, V>^ GetView();

戻り値

MapView オブジェクト。

Map::HasKey メソッド

指定したキーが現在のマップに格納されているかどうかを判定します。

構文

bool HasKey(K key);

パラメーター

key
Map 要素の検索に使用するキー。 key の型は型名 K です。

戻り値

キーが見つかった場合は true。それ以外の場合は false

Map::Insert メソッド

指定したキー/値ペアを現在のマップ オブジェクトに追加します。

構文

virtual bool Insert(K key, V value);

パラメーター

key
キー/値ペアのキー部分。 key の型は型名 K です。

value
キー/値ペアの値部分。 value の型は型名 V です。

戻り値

現在のマップ内の既存要素のキーが key と一致し、その要素の値部分が value に設定されている場合は true。 現在のマップ内の既存要素が key と一致せず、key および value パラメーターがキーと値のペアになっていて、現在のマップに追加されている場合は false

Map::Lookup メソッド

キーがある場合は、型 K の指定されたキーに関連付けられている型 V の値を取得します。

構文

V Lookup(K key);

パラメーター

key
マップの要素の検索に使用するキー。 key の型は型名 K です。

戻り値

key とペアになる値。 戻り値の型は、型名 V です。

解説

キーが存在しない場合、Platform::OutOfBoundsException がスローされます。

Map::Map コンストラクター

マップ クラスの新しいインスタンスを初期化します。

構文

explicit Map(const C& comp = C());
explicit Map(const StdMap& m);
explicit Map(StdMap&& m ;
template <typename InIt>
Map(
   InItfirst,
   InItlast,
   const C& comp = C());

パラメーター

InIt
現在のマップの型名。

comp
並べ替えキーとして 2 つの要素値を比較してマップ内の相対順序を決定できる関数オブジェクトを提供する型。

m
現在のマップを初期化するために使用される map Class への参照、または rvalue

first
現在のマップを初期化するために使用される要素の範囲内の最初の要素の入力反復子。

last
現在のマップを初期化するために使用される要素の範囲の後の最初の要素の入力反復子。

Map::MapChanged イベント

項目がマップに挿入されたときまたはマップから削除されたときに発生します。

構文

event Windows::Foundation::Collections::MapChangedEventHandler<K,V>^ MapChanged;

プロパティ値/戻り値

イベントを発生させたオブジェクトと、発生した変更の種類に関する情報を含む MapChangedEventHandler<K,V>。 「IMapChangedEventArgs<K>」および「CollectionChange 列挙型」も参照してください。

同等の .NET Framework 関数

C# または Visual Basic プロジェクト IMap<K,V> を IDictionary<K,V> として使用する Windows ランタイム アプリ。

Map::Remove メソッド

指定したキー/値ペアを現在のマップ オブジェクトから削除します。

構文

virtual void Remove(K key);

パラメーター

key
キー/値ペアのキー部分。 key の型は型名 K です。

Map::Size メソッド

マップの Windows::Foundation::Collections::IKeyValuePair<K,V> 要素の数を返します。

構文

virtual property unsigned int Size;

戻り値

マップの要素数。

関連項目

コレクション (C++/CX)
プラットフォーム名前空間
C++ での Windows ランタイム コンポーネントの作成