Share via


WwwFormUrlDecoder Classe

Definizione

Analizza una stringa di query URL ed espone i risultati come vettore di sola lettura (elenco) di coppie nome-valore dalla stringa di query.

public ref class WwwFormUrlDecoder sealed : IIterable<IWwwFormUrlDecoderEntry ^>, IVectorView<IWwwFormUrlDecoderEntry ^>
/// [Windows.Foundation.Metadata.Activatable(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WwwFormUrlDecoder final : IIterable<IWwwFormUrlDecoderEntry>, IVectorView<IWwwFormUrlDecoderEntry>
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class WwwFormUrlDecoder final : IIterable<IWwwFormUrlDecoderEntry>, IVectorView<IWwwFormUrlDecoderEntry>
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class WwwFormUrlDecoder : IEnumerable<IWwwFormUrlDecoderEntry>, IReadOnlyList<IWwwFormUrlDecoderEntry>
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class WwwFormUrlDecoder : IEnumerable<IWwwFormUrlDecoderEntry>, IReadOnlyList<IWwwFormUrlDecoderEntry>
function WwwFormUrlDecoder(query)
Public NotInheritable Class WwwFormUrlDecoder
Implements IEnumerable(Of IWwwFormUrlDecoderEntry), IReadOnlyList(Of IWwwFormUrlDecoderEntry)
Ereditarietà
Object Platform::Object IInspectable WwwFormUrlDecoder
Attributi
Implementazioni

Requisiti Windows

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

Commenti

Utilizzare la classe WwwFormUrlDecoder per analizzare una stringa di query in coppie nome-valore, in base al numero e alla posizione dei simboli "&" e "=". Ogni coppia nome-valore è rappresentata da un oggetto IWwwFormUrlDecoderEntry , che ha una proprietà Name e una proprietà Value (entrambe stringhe).

Usare GetFirstValueByName per trovare un parametro specifico della stringa di query denominata. Tutti i linguaggi possono usare questo metodo. In genere si usa GetFirstValueByName anziché GetAt perché l'ordine degli elementi in una stringa di query in genere non è importante, mentre il nome del parametro è l'identificatore importante delle parti di una query. In alternativa, se non si è certi dei nomi presenti nella stringa di query, è possibile enumerare l'insieme WwwFormUrlDecoder completo.

La proprietà Uri.QueryParsed restituisce un oggetto WwwFormUrlDecoder completo basato su un'istanza Uri . Pertanto, se si usano estensioni del componente Visual C++ (C++/CX) o codice JavaScript e si dispone già di un'istanza Uri , non sarà necessario costruire un nuovo oggetto WwwFormUrlDecoder, l'istanza Uri ne ha già una. È possibile costruire un wwwFormUrlDecoder se si dispone di una stringa che rappresenta un URL o il relativo componente della stringa di query da altre origini, ad esempio da un'API Windows.Web.Http .

Nota

Questa raccolta è un vettore anziché una mappa nel caso in cui l'ordine originale abbia alcun significato per un'implementazione e anche perché è legale che lo stesso nome venga visualizzato due volte nella stringa di query, mentre non è legale per le mappe avere chiavi duplicate.

Elenchi di membri della raccolta

Per l'utilizzo di .NET, WwwFormUrlDecoder ha le API proiettate di un IReadOnlyList generico con un vincolo IWwwFormUrlDecoderEntry . Le API disponibili per ogni lingua sono indicate negli elenchi membri.

Per JavaScript, WwwFormUrlDecoder include i membri visualizzati negli elenchi di membri. Inoltre, WwwFormUrlDecoder supporta una proprietà length , i membri di Array.prototype e l'uso di un indice per accedere agli elementi.

Utilizzo di .NET

Il codice .NET non può usare la classe Windows.Foundation.Uri (invece si usa System.Uri ). Tuttavia, il codice .NET può e deve usare WwwFormUrlDecoder. L'uso di WwwFormUrlDecoder è più semplice e meno soggetto a errori rispetto alla suddivisione di stringhe su caratteri "&" e "=". Ciò si complica a causa della codifica. Per usare WwwFormUrlDecoder, chiama il costruttore WwwFormUrlDecoder , passando il valore Query dal tuo System.Uri. Inizializza un nuovo oggetto WwwFormUrlDecoder. Usare quindi GetFirstValueByName per trovare un parametro specifico della stringa di query denominata. In alternativa, se non si conosce la stringa di query, enumerare la raccolta per determinare i parametri della stringa di query disponibili.

Usare l'interfaccia IWwwFormUrlDecoderEntry per il tipo di elementi dell'insieme ( questo è il modo in cui gli elementi vengono digitati da IndexOf). Non usare la classe WwwFormUrlDecoderEntry , non è disponibile per l'utilizzo di .NET.

WwwFormUrlDecoder ha anche le API proiettate di un IReadOnlyList generico con un vincolo IWwwFormUrlDecoderEntry , ma queste API non vengono comunemente usate.

Nota

System.Web.HttpUtility.ParseQueryStringnon è disponibile per .NET per l'app Windows Runtime. WwwFormUrlDecoder è la sostituzione consigliata.

Enumerazione della raccolta in C# o Microsoft Visual Basic

WwwFormUrlDecoder è enumerabile, pertanto è possibile usare una sintassi specifica del linguaggio, ad esempio foreach in C# per enumerare gli elementi nella raccolta. Il compilatore esegue automaticamente il cast dei tipi e non è necessario eseguire il cast in IEnumerable<IWwwFormUrlDecoderEntry> modo esplicito. Se è necessario eseguire il cast in modo esplicito, ad esempio se si vuole chiamare GetEnumerator, eseguire il cast a IEnumerable<T> con un vincolo IWwwFormUrlDecoderEntry .

Costruttori

WwwFormUrlDecoder(String)

Crea e inizializza una nuova istanza della classe WwwFormUrlDecoder .

Proprietà

Size

Ottiene il numero delle coppie nome-valore nella stringa di query dell'URL corrente.

Metodi

First()

Ottiene un iteratore che rappresenta la prima coppia nome-valore nella stringa di query dell'URL corrente.

GetAt(UInt32)

Ottiene la coppia nome-valore in corrispondenza dell'indice specificato nella stringa di query dell'URL corrente.

GetFirstValueByName(String)

Ottiene la prima coppia nome-valore con il nome specificato, ottenuta dalla stringa di query URI (Uniform Resource Identifier).

GetMany(UInt32, IWwwFormUrlDecoderEntry[])

Ottiene le coppie nome-valore a partire dall'indice specificato nella stringa di query dell'URL corrente.

IndexOf(IWwwFormUrlDecoderEntry, UInt32)

Ottiene un valore che indica se l'oggetto IWwwFormUrlDecoderEntry specificato è in corrispondenza dell'indice specificato nella stringa di query DELL'URL corrente.

Si applica a

Vedi anche