WwwFormUrlDecoder Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Analysiert eine URL-Abfragezeichenfolge und macht die Ergebnisse als schreibgeschützten Vektor (Liste) von Name-Wert-Paaren aus der Abfragezeichenfolge verfügbar.
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)
- Vererbung
- Attribute
- Implementiert
Windows-Anforderungen
Gerätefamilie |
Windows 10 (eingeführt in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)
|
Hinweise
Verwenden Sie die WwwFormUrlDecoder-Klasse, um eine Abfragezeichenfolge basierend auf der Anzahl und Platzierung der Symbole "&" und "=" in Name-Wert-Paare zu analysieren. Jedes Name-Wert-Paar wird durch ein IWwwFormUrlDecoderEntry-Objekt dargestellt, das über eine Name-Eigenschaft und eine Value-Eigenschaft (beide Zeichenfolgen) verfügt.
Verwenden Sie GetFirstValueByName , um einen bestimmten benannten Abfragezeichenfolgenparameter zu finden. Diese Methode können von allen Sprachen verwendet werden. Sie verwenden in der Regel GetFirstValueByName anstelle von GetAt , da die Reihenfolge der Elemente in einer Abfragezeichenfolge normalerweise nicht wichtig ist, während der Parametername der wichtige Bezeichner der Teile einer Abfrage ist. Oder, wenn Sie nicht sicher sind, welche Namen in der Abfragezeichenfolge vorhanden sind, können Sie die vollständige WwwFormUrlDecoder-Auflistung auflisten.
Die Uri.QueryParsed-Eigenschaft gibt einen vollständigen WwwFormUrlDecoder basierend auf einem Uri instance zurück. Wenn Sie also Visual C++-Komponentenerweiterungen (C++/CX) oder JavaScript-Code verwenden und bereits über einen Uri instance verfügen, müssen Sie kein neues WwwFormUrlDecoder-Objekt erstellen, der Uri instance verfügt bereits über eines. Sie können einen WwwFormUrlDecoder erstellen, wenn Sie eine Zeichenfolge haben, die eine URL oder ihre Abfragezeichenfolgenkomponente aus anderen Quellen darstellt, z. B. aus einer Windows.Web.Http-API .
Hinweis
Diese Auflistung ist ein Vektor und keine Karte, falls die ursprüngliche Reihenfolge eine Bedeutung für eine Implementierung hat, und auch, weil es legal ist, dass derselbe Name zweimal in der Abfragezeichenfolge angezeigt wird, während es nicht legal ist, dass Karten doppelte Schlüssel enthalten.
Auflistungsmemberlisten
Für die .NET-Verwendung verfügt WwwFormUrlDecoder über die projizierten APIs einer generischen IReadOnlyList mit einer IWwwFormUrlDecoderEntry-Einschränkung . Die APIs, die für jede Sprache verfügbar sind, werden in den Memberlisten angegeben.
Für JavaScript enthält WwwFormUrlDecoder die Elemente, die in den Memberlisten angezeigt werden. Darüber hinaus unterstützt WwwFormUrlDecoder eine Length-Eigenschaft , Member von Array.prototype und die Verwendung eines Indexes für den Zugriff auf Elemente.
.NET-Nutzung
.NET-Code kann die Windows.Foundation.Uri-Klasse nicht verwenden (Stattdessen verwenden Sie System.Uri ). Aber .NET-Code kann und sollte WwwFormUrlDecoder verwenden. Die Verwendung von WwwFormUrlDecoder ist einfacher und weniger fehleranfällig als die Zeichenfolgenaufteilung für Zeichen "&" und "=". Das wird aufgrund der Codierung kompliziert. Um WwwFormUrlDecoder zu verwenden, rufen Sie den WwwFormUrlDecoder-Konstruktor auf, und übergeben Sie den Query-Wert von Ihrem System.Uri. Dadurch wird ein neues WwwFormUrlDecoder-Objekt initialisiert. Verwenden Sie dann GetFirstValueByName , um einen bestimmten benannten Abfragezeichenfolgenparameter zu finden. Wenn Sie nicht wissen, was in der Abfragezeichenfolge enthalten sein wird, können Sie die Auflistung auflisten, um die verfügbaren Abfragezeichenfolgenparameter zu ermitteln.
Verwenden Sie die IWwwFormUrlDecoderEntry-Schnittstelle für den Typ der Elemente in der Auflistung (so werden die Elemente von IndexOf eingegeben). Verwenden Sie nicht die WwwFormUrlDecoderEntry-Klasse , sie ist nicht für die .NET-Nutzung verfügbar.
WwwFormUrlDecoder verfügt auch über die projizierten APIs einer generischen IReadOnlyList mit einer IWwwFormUrlDecoderEntry-Einschränkung , aber diese APIs werden häufig nicht verwendet.
Hinweis
System.Web.HttpUtility.ParseQueryString
ist für .NET für Windows-Runtime App nicht verfügbar. WwwFormUrlDecoder ist der empfohlene Ersatz dafür.
Auflisten der Sammlung in C# oder Microsoft Visual Basic
WwwFormUrlDecoder ist aufzählbar, sodass Sie sprachspezifische Syntax wie foreach in C# verwenden können, um die Elemente in der Auflistung aufzulisten. Der Compiler führt die Typumwandlung für Sie durch, und Sie müssen nicht explizit in IEnumerable<IWwwFormUrlDecoderEntry>
umgewandelt werden. Wenn Sie eine explizite Umwandlung durchführen müssen, z. B. wenn Sie GetEnumerator aufrufen möchten, wandeln Sie mit einer IWwwFormUrlDecoderEntry-Einschränkung in IEnumerable<T> um.
Konstruktoren
WwwFormUrlDecoder(String) |
Erstellt und initialisiert eine neue instance der WwwFormUrlDecoder-Klasse. |
Eigenschaften
Size |
Ruft die Anzahl der Name-Wert-Paare in der aktuellen URL-Abfragezeichenfolge ab. |
Methoden
First() |
Ruft einen Iterator ab, der das erste Name-Wert-Paar in der aktuellen URL-Abfragezeichenfolge darstellt. |
GetAt(UInt32) |
Ruft das Name-Wert-Paar am angegebenen Index in der aktuellen URL-Abfragezeichenfolge ab. |
GetFirstValueByName(String) |
Ruft das erste Name-Wert-Paar ab, das den angegebenen Namen hat, wie es von der URI-Abfragezeichenfolge (Uniform Resource Identifier) abgerufen wird. |
GetMany(UInt32, IWwwFormUrlDecoderEntry[]) |
Ruft Name-Wert-Paare ab, die am angegebenen Index in der aktuellen URL-Abfragezeichenfolge beginnen. |
IndexOf(IWwwFormUrlDecoderEntry, UInt32) |
Ruft einen Wert ab, der angibt, ob sich der angegebene IWwwFormUrlDecoderEntry am angegebenen Index in der aktuellen URL-Abfragezeichenfolge befindet. |