IVectorView<T> 介面

定義

表示向量中的不可變檢視。

。網由於 .NET 語言投影,此介面會顯示為System.Collections.Generic.IReadOnlyList < T >的 .NET 程式碼。 在任何Windows 執行階段類型已實作 IVectorView < T > 的情況下,.NET 程式碼都可以改用IReadOnlyList < T >的 API。

public interface class IVectorView : IIterable<T>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(3152149068, 45283, 17795, 186, 239, 31, 27, 46, 72, 62, 86)]
template <typename T>
struct IVectorView : IIterable<T>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(3152149068, 45283, 17795, 186, 239, 31, 27, 46, 72, 62, 86)]
public interface IReadOnlyList<T> : IEnumerable<T>
Public Interface IReadOnlyList(Of T)
Implements IEnumerable(Of T)

類型參數

T
屬性
實作

Windows 需求

裝置系列
Windows 10 (已於 10.0.10240.0 引進)
API contract
Windows.Foundation.FoundationContract (已於 v1.0 引進)

備註

對於讀寫集合,IVectorView < T > 介面仍然相關,因為 IVector.GetView 方法會傳回 IVectorView< T > 實例。

如果基礎集合變更,IVectorView < T > 介面的方法和屬性可能會擲回例外狀況。

C++/WinRT 如果基礎集合已變更,方法和屬性可能會擲回例外狀況 hresult_changed_state

C++/CX 如果基礎集合已變更,方法和屬性可能會擲回例外狀況 ChangedStateException

使用 .NET 進行程式設計時,此介面會隱藏,如果開發人員想要實作唯讀向量/清單類型,則應該使用 IReadOnlyList < T > 介面。 在任何Windows 執行階段類型已實作 IVectorView < T > 的情況下,.NET 程式碼都可以改用 IReadOnlyList < T > 的 API。 這包括所有現有的Windows 執行階段 API,以及使用原本在 Visual C++ 元件延伸模組中實作Windows 執行階段元件的 API, (C++/CX) 從 C# 或 Visual Basic 應用程式實作的案例。

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 迴圈。

介面繼承

IVectorView 繼承 IIterable。 實作 IVectorView 的類型也會實作 IIterable的介面成員。 同樣地,如果您使用 .NET,則支援IEnumerable < T >

屬性

Size

取得向量檢視中的專案數。

方法

GetAt(UInt32)

傳回向量檢視中位於指定索引處的專案。

GetMany(UInt32, T[])

從指定的索引開始,從向量檢視擷取多個專案。

C++/WinRT C++/WinRT 語言投影的正確語法為 uint32_t GetMany(uint32_t startIndex, winrt::array_view<T> items);

IndexOf(T, UInt32)

擷取向量檢視中指定專案的索引。

適用於