다음을 통해 공유


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 instance 기반으로 전체 WwwFormUrlDecoder를 반환합니다. 따라서 Visual C++ 구성 요소 확장(C++/CX) 또는 JavaScript 코드를 사용 중이고 Uri instance 이미 있는 경우 새 WwwFormUrlDecoder 개체를 생성할 필요가 없으며 Uri instance 이미 있습니다. Windows.Web.Http API와 같은 다른 원본에서 URL 또는 해당 쿼리 문자열 구성 요소를 나타내는 문자열이 있는 경우 WwwFormUrlDecoder를 생성할 수 있습니다.

참고

이 컬렉션은 원래 순서가 구현에 의미가 있는 경우 맵이 아닌 벡터이며, 동일한 이름이 쿼리 문자열에 두 번 표시되는 것이 합법적이기 때문에 맵에 중복 키가 있는 것은 합법적이지 않습니다.

컬렉션 멤버 목록

.NET 사용의 경우 WwwFormUrlDecoder에는 IWwwFormUrlDecoderEntry 제약 조건이 있는 제네릭 IReadOnlyList의 프로젝트된 API가 있습니다. 각 언어에 사용할 수 있는 API는 멤버 목록에 표시됩니다.

JavaScript의 경우 WwwFormUrlDecoder에는 멤버 목록에 표시된 멤버가 있습니다. 또한 WwwFormUrlDecoder는 length 속성, Array.prototype의 멤버 및 인덱스를 사용하여 항목에 액세스할 수 있도록 지원합니다.

.NET 사용량

.NET 코드는 Windows.Foundation.Uri 클래스를 사용할 수 없습니다(대신 System.Uri 사용). 그러나 .NET 코드는 WwwFormUrlDecoder를 사용할 수 있고 사용해야 합니다. WwwFormUrlDecoder를 사용하는 것은 "&" 및 "=" 문자에서 문자열 분할보다 간단하고 오류가 발생하기 쉽습니다. 인코딩으로 인해 복잡해집니다. WwwFormUrlDecoder를 사용하려면 WwwFormUrlDecoder 생성자를 호출하여 System.Uri에서 쿼리 값을 전달합니다. 그러면 새 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 클래스의 새 instance 만들고 초기화합니다.

속성

Size

현재 URL 쿼리 문자열의 이름-값 쌍 수를 가져옵니다.

메서드

First()

현재 URL 쿼리 문자열의 이름-값 쌍을 나타내는 반복기를 가져옵니다.

GetAt(UInt32)

현재 URL 쿼리 문자열의 지정된 인덱스에서 이름-값 쌍을 가져옵니다.

GetFirstValueByName(String)

생성 URI(Uniform Resource Identifier) 쿼리 문자열에서 가져온 대로 지정된 이름을 포함하는 이름-값 쌍을 가져옵니다.

GetMany(UInt32, IWwwFormUrlDecoderEntry[])

현재 URL 쿼리 문자열의 지정된 인덱스에서 시작하는 이름-값 쌍을 가져옵니다.

IndexOf(IWwwFormUrlDecoderEntry, UInt32)

지정된 IWwwFormUrlDecoderEntry 가 현재 URL 쿼리 문자열의 지정된 인덱스인지 여부를 나타내는 값을 가져옵니다.

적용 대상

추가 정보