Uri クラス
アセンブリ: System (system.dll 内)


URI は、アプリケーションが使用できるイントラネットまたはインターネット上のリソースを簡潔に表す記述方式です。Uri クラスは、URI の解析、比較、結合などの URI 処理のためのプロパティとメソッドを定義します。Uri クラスのプロパティは読み取り専用です。変更可能なオブジェクトを作成するには、UriBuilder クラスを使用します。
"/new/index.htm" などの相対 URI は、ベース URI を基準にして展開し、絶対 URI に変換する必要があります。MakeRelative メソッドは、必要に応じて絶対 URI を相対 URI に変換するメソッドです。
エスケープ シーケンスが含まれるスキーム ID を含む正しい形式の URI 文字列の場合、Uri コンストラクタではこの文字列をエスケープできません。
Uri のプロパティは、標準データ形式をエスケープ エンコーディングで返します。このとき、127 より大きい Unicode 値の文字はすべて、それと等価の 16 進数値に置換されます。URI を正規形式で格納するため、Uri コンストラクタは次に示すステップを実行します。
-
ホスト名が IPv6 アドレスである場合、標準の IPv6 アドレスが使用されます。ScopeId とその他のオプションの IPv6 データは削除されます。
-
エスケープ表現や /./、/../、// などのシーケンスを圧縮することにより、階層構造の URI のパスを正規化します。
ToString メソッドを使用して、Uri クラスの内容をエスケープ エンコード URI 参照から判読可能な URI 参照へ変換できます。一部の予約文字が、ToString メソッドの出力でもエスケープされることがあるので注意してください。これは、ToString の戻り値から URI を明確に再作成するためです。
一部の URI には、フラグメント識別子とクエリの一方または両方が含まれています。フラグメント識別子とは、URI 上でシャープ記号 (#) の後に続く任意のテキストです。シャープ記号自体は、フラグメント識別子に含まれません。フラグメント テキストは、Fragment プロパティに格納されています。クエリ情報とは、URI 上で疑問符 (?) の後に続く任意のテキストです。クエリ テキストは Query プロパティに格納されています。
.NET Framework Version 1.1 では、コンストラクタに指定した文字列に不明なスキームや "c:\" が含まれていると、Uri クラスによってコロン (:) の後ろに "//" が挿入されます。たとえば、URI xyz:c:\abc は、xyz://c:/abc に変換されます。.NET Framework Version 2.0 では、この動作が廃止されているので、前述の文字列は xyz:c:/abc に変換されます。
![]() |
---|
URI クラスでは、IPv4 プロトコルのピリオド区切りの 10 進表記、および IPv6 プロトコルのコロン区切りの 16 進表記の、両方の IP アドレス形式を使用できます。なお、IPv6 アドレスの場合は、http://[::1] のように、角かっこで囲んでください。 |
パフォーマンスに関する考慮事項
URI を格納した Web.config ファイルを使用してアプリケーションを初期化する場合、その URI のスキーム ID が標準のスキーム ID でないと、URI の処理に不要な時間がかかります。その場合、アプリケーションの中で影響を受ける部分を、アプリケーションの起動時ではなく、その URI が必要とされるときに初期化します。
Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows CE プラットフォームメモ : .NET Compact Framework では、相対パスと絶対パスが区別されません。また、.NET Compact Framework では、file:// 形式で始まる URL の処理方法が完全版の .NET Framework とは異なります。file://myfile と相対的に指定すると、\\myfile として解決されます。file:///myfile ( 3 つのスラッシュ) を使用すると、ルート ディレクトリにある \myfile として解決されます。正常な操作を確保するには、絶対パス情報を指定してください。

Uri クラスのインスタンスを作成し、このインスタンスを使用して WebRequest インスタンスを作成する例を次に示します。

System.Uri


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からUri クラスを検索する場合は、下記のリンクをクリックしてください。

- Uri クラスのページへのリンク