WwwFormUrlDecoder クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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)
- 継承
- 属性
- 実装
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 クエリ文字列内の指定したインデックスにあるかどうかを示す値を取得します。 |