Uri.OriginalString プロパティ

定義

Uri コンストラクターに渡された元の URI 文字列を取得します。

public:
 property System::String ^ OriginalString { System::String ^ get(); };
public string OriginalString { get; }
member this.OriginalString : string
Public ReadOnly Property OriginalString As String

プロパティ値

このインスタンスが構築されたときに指定された正確な URI。それ以外の場合は Empty

次の例では、文字列から新 Uri しいインスタンスを作成します。 コンストラクターに渡された文字列を返す から OriginalString返される値と、文字列の正規形式を返す への ToString呼び出しから返される値の違いを示しています。

// Create a new Uri from a string address.
Uri^ uriAddress = gcnew Uri( "HTTP://www.ConToso.com:80//thick%20and%20thin.htm" );

// Write the new Uri to the console and note the difference in the two values.
// ToString() gives the canonical version. OriginalString gives the original 
// string that was passed to the constructor.
// The following outputs "http://www.contoso.com//thick and thin.htm".
Console::WriteLine( uriAddress );

// The following outputs "HTTP://www.ConToso.com:80//thick%20and%20thin.htm".
Console::WriteLine( uriAddress->OriginalString );
// Create a new Uri from a string address.
Uri uriAddress = new Uri("HTTP://www.ConToso.com:80//thick%20and%20thin.htm");

// Write the new Uri to the console and note the difference in the two values.
// ToString() gives the canonical version. OriginalString gives the original
// string that was passed to the constructor.

// The following outputs "http://www.contoso.com//thick and thin.htm".
Console.WriteLine(uriAddress.ToString());

// The following outputs "HTTP://www.ConToso.com:80//thick%20and%20thin.htm".
Console.WriteLine(uriAddress.OriginalString);
// Create a new Uri from a string address.
let uriAddress = Uri "HTTP://www.ConToso.com:80//thick%20and%20thin.htm"

// Write the new Uri to the console and note the difference in the two values.
// ToString() gives the canonical version. OriginalString gives the original
// string that was passed to the constructor.

// The following outputs "http://www.contoso.com//thick and thin.htm".
printfn $"{uriAddress.ToString()}"

// The following outputs "HTTP://www.ConToso.com:80//thick%20and%20thin.htm".
printfn $"{uriAddress.OriginalString}"
    ' Create a new Uri from a string address.
    Dim uriAddress As New Uri("HTTP://www.ConToso.com:80//thick%20and%20thin.htm")
    
    ' Write the new Uri to the console and note the difference in the two values.
    ' ToString() gives the canonical version. OriginalString gives the original 
    ' string that was passed to the constructor.
    ' The following outputs "http://www.contoso.com//thick and thin.htm".
    Console.WriteLine(uriAddress.ToString())
    
    ' The following outputs "HTTP://www.ConToso.com:80//thick%20and%20thin.htm".
    Console.WriteLine(uriAddress.OriginalString)

End Sub

注釈

コンストラクターに指定された URI に先頭または末尾のスペースが含まれている場合、これらのスペースは保持されます。

このプロパティによって返される値は、 と AbsoluteUriとは異なりますToStringToString は、正規にエスケープされていない形式の URI を返します。 AbsoluteUri は、URI の正規エスケープ形式を返します。

国際リソース識別子 (IRI) と国際化ドメイン名 (IDN) のサポートが有効になっている場合、インスタンスの初期化に使用された場合は、 OriginalString Punycode ホスト名を使用して元の正規化されていない文字列を Uri 返します。 Punycode 名には ASCII 文字のみが含まれ、常に xn-- プレフィックスで始まります。

IRI サポートの詳細については、 クラスの「解説」セクションを Uri 参照してください。

オブジェクトを Uri シリアル化すると、 OriginalString は保持されません。 シリアル化プロセスでは、シリアル化時に完全にエスケープされた正規化された AbsoluteUri プロパティが使用されます。 Uri IPv6 アドレスを含む の場合は、シリアル化されたUriオブジェクトに IPv6 アドレスとスコープ ID が含まれます。

適用対象