英語で読む

次の方法で共有


Uri.OriginalString プロパティ

定義

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

C#
public string OriginalString { get; }

プロパティ値

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

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

C#
// 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);

注釈

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

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

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

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

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

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0