IMap<K,V> 介面

定義

表示關聯的集合,也稱為對應或字典。

。網 由於 .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,以及使用原本在 Visual C++ 元件延伸模組中實作 Windows 執行階段 元件 API 的案例, (C# 或 Visual Basic 應用程式中的 C++/CX) 。

IMap<K,V> 介面代表索引鍵/值組的集合,其中值可由其相關聯的索引鍵存取。 IMap<K、V> 的屬性和方法支援字典類型功能,例如取得集合的大小,以及在集合中指定的位置新增和移除專案。 此外, GetView 方法會提供地圖的快照集,其可觀察狀態不會變更。 當您需要集合的檢視,以在涉及 IMap<K、V> 的後續作業中參考時,快照集非常有用。

C++/WinRT 延伸模組函式

注意

擴充功能函式存在於特定 Windows 執行階段 API 的 C++/WinRT 投影類型上。 例如, winrt::Windows::Foundation::IAsyncActionIAsyncAction 的 C++/WinRT 投影類型。 擴充函式不是應用程式二進位介面的一部分, (實際 Windows 執行階段 類型的 ABI) 介面,因此它們不會列為 Windows 執行階段 API 的成員。 但您可以從任何 C++/WinRT 專案內呼叫它們。 請參閱擴充 Windows 執行階段 API 的 C++/WinRT 函式。

auto begin() const;

傳回反覆運算器至集合的第一個索引鍵/值組,以用於 C++ 演算法,例如範圍型 for 迴圈。

auto end() const;

將反覆運算器傳回至集合最後一個索引鍵/值組之後的反覆運算器,以用於 C++ 演算法,例如範圍型 for 迴圈。

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

嘗試使用索引 查詢對應中的專案。 針對參考型別,如果找到,則 nullptr 傳回值,如果找不到則傳回 。 針對實值型別,會傳回 std::optional<V>,如果找到則保留值,如果找不到則沒有值。

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

如果有的話,移除對應中具有索引 鍵的專案。 如果找到並移除專案,則傳 true 回 。 如果找不到專案,則傳 false 回 。

介面繼承

IMap<K,V> 會使用使用相同的索引鍵和實值類型的 IKeyValuePair 條件約束來繼承 IIterable。 實作 IMap<K、V> 的類型也會實作 IIterable 的介面成員,且 IKeyValuePair 類型條件約束共用相同的索引鍵和值。 同樣地,如果您使用 .NET, 則支援 IEnumerabe<T>,其條件約束類型為 KeyValuePair ,其使用與 IDictionary<TKey,TValue 實作相同的索引鍵和實值> 類型。

屬性

Size

取得地圖中的項目數。

方法

Clear()

從地圖中移除所有專案。

GetView()

傳回地圖的不可變檢視。

HasKey(K)

判斷對應是否包含指定的索引鍵。

Insert(K, V)

插入或取代地圖中的專案。

Lookup(K)

傳回對應中指定索引鍵處的專案。

Remove(K)

從地圖中移除專案。

適用於

另請參閱