WwwFormUrlDecoder クラス

定義

URL クエリ文字列を解析し、クエリ文字列から名前と値のペアの読み取り専用ベクター (リスト) として結果を公開します。

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)
継承
Object Platform::Object IInspectable WwwFormUrlDecoder
属性
実装

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

注釈

"&" 記号と "=" 記号の数と配置に基づいて、クエリ文字列を名前と値のペアに解析するには、WwwFormUrlDecoder クラスを使用します。 各名前と値のペアは、Name プロパティと Value プロパティ (両方の文字列) を持つ IWwwFormUrlDecoderEntry オブジェクトによって表されます。

GetFirstValueByName を使用して、特定の名前付きクエリ文字列パラメーターを検索します。 すべての言語でこのメソッドを使用できます。 通常は GetAt ではなく GetFirstValueByName を使用します。クエリ文字列内の項目の順序は通常重要ではありませんが、パラメーター名はクエリの一部の重要な識別子です。 または、クエリ文字列に存在する名前がわからない場合は、完全な WwwFormUrlDecoder コレクションを列挙できます。

Uri.QueryParsed プロパティは、Uri インスタンスに基づいて完全な WwwFormUrlDecoder 返します。 そのため、Visual C++ コンポーネント拡張機能 (C++/CX) または JavaScript コードを使用していて、 Uri インスタンスが 既にある場合は、新しい WwwFormUrlDecoder オブジェクトを構築する必要はありません。 Uri インスタンスには既に存在します。 Url またはそのクエリ文字列コンポーネントを表す文字列がある場合は、 Windows.Web.Http API などの他のソースから WwwFormUrlDecoder を作成できます。

注意

このコレクションは、元の順序が実装に何らかの意味を持つ場合のマップではなくベクターです。また、同じ名前がクエリ文字列に 2 回出現することは有効ですが、マップに重複するキーが含まれるのは適していません。

コレクション メンバー リスト

.NET を使用する場合、WwwFormUrlDecoder には、IWwwFormUrlDecoderEntry 制約を持つ汎用 IReadOnlyList の投影された API があります。 各言語で使用できる API は、メンバー リストに示されます。

JavaScript の場合、WwwFormUrlDecoder にはメンバーリストにメンバーが表示されます。 さらに、WwwFormUrlDecoder では、 長さ プロパティ、 Array.prototype のメンバー、およびインデックスを使用して項目にアクセスすることがサポートされています。

.NET の使用状況

.NET コードでは、 Windows.Foundation.Uri クラスを使用できません (代わりに System.Uri を使用します)。 ただし、.NET コードでは WwwFormUrlDecoder を使用できます。また、使用する必要があります。 WwwFormUrlDecoder の使用は、"&" 文字と "=" 文字での文字列分割よりも単純でエラーが発生しやすいです。 エンコードが原因で複雑になります。 WwwFormUrlDecoder を使用するには、WwwFormUrlDecoder コンストラクターを呼び出し、System.Uri から Query 値を渡します。 これにより、新しい WwwFormUrlDecoder オブジェクトが初期化されます。 次 に、GetFirstValueByName を使用して、特定の名前付きクエリ文字列パラメーターを検索します。 または、クエリ文字列の内容がわからない場合は、コレクションを列挙して、使用可能なクエリ文字列パラメーターを決定します。

コレクション内の項目の種類に対して IWwwFormUrlDecoderEntry インターフェイスを使用します (これは、 項目の IndexOf による型指定方法です)。 WwwFormUrlDecoderEntry クラスは使用しないでください。.NET では使用できません。

WwwFormUrlDecoder には、IWwwFormUrlDecoderEntry 制約を持つ汎用 IReadOnlyList の投影された API もありますが、これらの API は一般的には使用されません。

注意

System.Web.HttpUtility.ParseQueryStringは、.NET for Windows ランタイム アプリでは使用できません。 代わりに WwwFormUrlDecoder を使用することをお勧めします。

C# または Microsoft Visual Basic でのコレクションの列挙

WwwFormUrlDecoder は列挙可能であるため、C# の foreach などの言語固有の構文を使用して、コレクション内の項目を列挙できます。 コンパイラによって型キャストが行われ、明示的に キャストする IEnumerable<IWwwFormUrlDecoderEntry> 必要はありません。 GetEnumerator を呼び出す場合など、明示的にキャストする必要がある場合は、IWwwFormUrlDecoderEntry 制約を使用して IEnumerable<T> にキャストします。

コンストラクター

WwwFormUrlDecoder(String)

WwwFormUrlDecoder クラスの新しいインスタンスを作成して初期化します。

プロパティ

Size

現在の URL クエリ文字列内の名前と値のペアの数を取得します。

メソッド

First()

現在の URL クエリ文字列の最初の名前と値のペアを表す反復子を取得します。

GetAt(UInt32)

現在の URL クエリ文字列内の指定したインデックス位置にある名前と値のペアを取得します。

GetFirstValueByName(String)

構成する Uniform Resource Identifier (URI) クエリ文字列から取得した、指定した名前を持つ最初の名前と値のペアを取得します。

GetMany(UInt32, IWwwFormUrlDecoderEntry[])

現在の URL クエリ文字列内の指定したインデックスから始まる名前と値のペアを取得します。

IndexOf(IWwwFormUrlDecoderEntry, UInt32)

指定した IWwwFormUrlDecoderEntry が現在の URL クエリ文字列内の指定したインデックスにあるかどうかを示す値を取得します。

適用対象

こちらもご覧ください