IVector<T> Interfaccia

Definizione

Rappresenta una raccolta di elementi ad accesso casuale.

.NET Questa interfaccia appare come codice .NET come System.Collections.Generic.IList<T> a causa della proiezione del linguaggio .NET. In ogni caso in cui un tipo di Windows Runtime ha implementato IVector<T>, il codice .NET può usare invece le API di IList<T>.

public interface class IVector : IIterable<T>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2436052969, 4513, 17221, 163, 162, 78, 127, 149, 110, 34, 45)]
template <typename T>
struct IVector : IIterable<T>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(2436052969, 4513, 17221, 163, 162, 78, 127, 149, 110, 34, 45)]
public interface IList<T> : IEnumerable<T>
Public Interface IList(Of T)
Implements IEnumerable(Of T)

Parametri di tipo

T
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (è stato introdotto in v1.0)

Commenti

Quando si programma con .NET, questa interfaccia è nascosta e gli sviluppatori devono usare l'interfaccia System.Collections.Generic.IList<T> se vogliono implementare un tipo vector/list. In ogni caso in cui un tipo di Windows Runtime ha implementato IVector<T>, il codice .NET può usare invece le API di IList<T>. Sono inclusi tutti gli scenari esistenti Windows Runtime API, ad esempio l'uso delle API di Windows Runtime componenti implementati originariamente nelle estensioni del componente Visual C++ (C++/CX) da un'app C# o Visual Basic.

L'interfaccia IVector<T> rappresenta una raccolta di oggetti di un tipo specificato a cui è possibile accedere singolarmente in base all'indice. Le proprietà e i metodi di IVector<T> supportano la funzionalità di tipo elenco, ad esempio ottenere le dimensioni della raccolta e aggiungere e rimuovere elementi in posizioni specificate nella raccolta. Inoltre, il metodo GetView fornisce uno snapshot del vettore il cui stato osservabile non cambia. Lo snapshot è utile quando è necessaria una visualizzazione della raccolta a cui fare riferimento nelle operazioni successive che coinvolgono IVector<T>.

Funzioni di estensione C++/WinRT

Nota

Le funzioni di estensione esistono nei tipi di proiezione C++/WinRT per determinate API di Windows Runtime. Ad esempio, winrt::Windows::Foundation::IAsyncAction è il tipo di proiezione C++/WinRT per IAsyncAction. Le funzioni di estensione non fanno parte della superficie ABI (Application Binary Interface) dei tipi di Windows Runtime effettivi, quindi non sono elencati come membri delle API Windows Runtime. Ma puoi chiamarli da qualsiasi progetto C++/WinRT. Vedi Funzioni C++/WinRT che estendono Windows Runtime API.

auto begin() const;

Restituisce un iteratore al primo elemento della raccolta, da usare in algoritmi C++, ad esempio cicli basati su for intervalli.

auto end() const;

Restituisce un iteratore a un oltre l'ultimo elemento della raccolta, da usare in algoritmi C++, ad esempio cicli basati su for intervalli.

Ereditarietà dell'interfaccia

IVector eredita IIterable. I tipi che implementano IVector implementano anche i membri dell'interfaccia IIterable. Analogamente, se si usa .NET, è disponibile il supporto per IEnumerable<T>.

Proprietà

Size

Ottiene il numero di elementi nel vettore.

Metodi

Append(T)

Aggiunge un elemento alla fine del vettore.

Clear()

Rimuove tutti gli elementi dal vettore.

GetAt(UInt32)

Restituisce l'elemento in corrispondenza dell'indice specificato nel vettore.

GetMany(UInt32, T[])

Recupera più elementi dal vettore a partire dall'indice specificato.

C++/WinRT La sintassi corretta per la proiezione del linguaggio C++/WinRT è uint32_t GetMany(uint32_t startIndex, winrt::array_view<T> items);.

GetView()

Restituisce una visualizzazione non modificabile del vettore.

IndexOf(T, UInt32)

Recupera l'indice di un elemento specificato nel vettore.

InsertAt(UInt32, T)

Inserisce un elemento in corrispondenza di un indice specificato nel vettore.

RemoveAt(UInt32)

Rimuove l'elemento in corrispondenza dell'indice specificato nel vettore.

RemoveAtEnd()

Rimuove l'ultimo elemento dal vettore.

ReplaceAll(T[])

Sostituisce tutti gli elementi nel vettore con gli elementi specificati.

SetAt(UInt32, T)

Imposta il valore in corrispondenza dell'indice specificato nel vettore.

Si applica a

Vedi anche