Windows.Foundation.Collections Namespace

Define objetos de coleção padrão, especializados e genéricos. Isso inclui as interfaces genéricas IIterable<T>, IVector<T> e IMap<K,V>, que são usadas como o padrão para suporte básico à coleção em toda a API Windows Runtime.

Classes

PropertySet

Representa um conjunto de propriedades, que é um conjunto de objetos PropertyValue com chaves de cadeia de caracteres.

StringMap

Uma coleção associativa, também conhecida como mapa ou dicionário.

ValueSet

Implementa um mapa com chaves do tipo Cadeia de caracteres e valores do tipo Object. O objeto deve ser um PropertyValue ou ValueSet do WinRT. Como um PropertyValue, pode ser qualquer tipo, exceto PropertyTypeInspectableArray. Essa limitação existe para garantir que o valor possa ser serializado; passado por valor em um limite de processo.

Observação

Alguns membros só estão disponíveis para o idioma especificado.

Interfaces

IIterable<T>

Expõe um iterador que dá suporte à iteração simples em uma coleção de um tipo especificado.

.NET Essa interface aparece como System.Collections.Generic.IEnumerable<T>. Em qualquer caso em que um tipo de Windows Runtime implementou IIterable<T>, o código .NET pode usar as APIs de IEnumerable<T>. O código C# pode usar foreach, o código do Visual Basic pode usar For Each... Em seguida. Todos os métodos de extensão do .NET baseados em IEnumerable<T> e incluídos no .NET para aplicativos UWP são acessíveis (incluindo as extensões System.Linq , desde que você tenha incluído o namespace).

IIterator<T>

Dá suporte à iteração simples em uma coleção.

IKeyValuePair<K,V>

Representa um par chave-valor. Normalmente, isso é usado como um tipo de restrição quando você precisa encapsular dois parâmetros de tipo em um para atender às restrições de outra interface genérica.

.NET Essa interface aparece como System.Collections.Generic.KeyValuePair<TKey,TValue> (uma estrutura, não uma interface). Em qualquer caso em que um tipo de Windows Runtime tenha implementado IKeyValuePair<K,V>, o código .NET pode usar as APIs de KeyValuePair.

IMap<K,V>

Representa uma coleção associativa, também conhecida como mapa ou dicionário.

.NET Essa interface aparece no código .NET como System.Collections.Generic.IDictionary<TKey, TValue> devido à projeção de linguagem .NET. Em qualquer caso em que um tipo de Windows Runtime implementou IMap<K,V>, o código .NET pode usar as APIs de IDictionary<TKey,TValue>.

IMapChangedEventArgs<K>

Fornece dados para o evento alterado de uma coleção de mapas.

IMapView<K,V>

Representa uma exibição imutável em um mapa.

.NET Essa interface aparece como System.Collections.Generic.IReadOnlyDictionary<TKey, TValue> devido à projeção de linguagem .NET. Em qualquer caso em que um tipo de Windows Runtime implementou IMapView<K,V>, o código .NET pode usar as APIs de IReadOnlyDictionary<TKey, TValue>.

IObservableMap<K,V>

Notifica os ouvintes de alterações dinâmicas em um mapa, como quando os itens são adicionados ou removidos.

IObservableVector<T>

Notifica os ouvintes de alterações no vetor.

IPropertySet

Representa uma coleção de pares chave-valor, correlacionando várias outras interfaces de coleção.

IVector<T>

Representa uma coleção de elementos de acesso aleatório.

.NET Essa interface aparece no código .NET como System.Collections.Generic.IList<T> devido à projeção de linguagem .NET. Em qualquer caso em que um tipo de Windows Runtime implementou o IVector<T>, o código .NET pode usar as APIs de IList<T>.

IVectorChangedEventArgs

Fornece dados para o evento alterado de um vetor.

IVectorView<T>

Representa uma exibição imutável em um vetor.

.NET Essa interface aparece no código .NET como System.Collections.Generic.IReadOnlyList<T> devido à projeção de linguagem .NET. Em qualquer caso em que um tipo de Windows Runtime implementou IVectorView<T>, o código .NET pode usar as APIs de IReadOnlyList<T>.

Enumerações

CollectionChange

Descreve a ação que causa uma alteração em uma coleção.

Delegados

MapChangedEventHandler<K,V>

Representa o método que manipula o evento alterado de um mapa observável.

VectorChangedEventHandler<T>

Representa o método que manipula o evento alterado de um vetor observável.

Comentários

Muitas das interfaces e objetos definidos nesse namespace têm equivalentes de linguagem diferentes, dependendo da linguagem de programação que você está usando. Para obter mais informações sobre como usar essas interfaces do código C++, consulte Coleções (C++/CX). Para obter mais informações sobre como usar tipos de coleção do código .NET, consulte Os Comentários nos tipos específicos definidos neste namespace.

Confira também