System.Uri.MakeRelativeUri 方法

方法描述

确定两个 Uri 实例之间的差异。

语法定义(C# System.Uri.MakeRelativeUri 方法 的用法)

public Uri MakeRelativeUri(
	Uri uri
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
uri System-Uri 与当前 URI 进行比较的 URI。
返回值 System.Uri 如果此 URI 实例与uri的主机名和方案相同,则此方法返回一个相对 Uri。若将此相对 URI 追加到当前 URI 实例,就可以得到 uri。 如果主机名或方案不同,则此方法返回一个表示 uri 参数的 Uri。

提示和注释

下表显示 URI 实例、toUri 以及 MakeRelativeUri 的调用结果。

当前的 URI 实例

toUri

返回值

http://www.contoso.com/

http://www.contoso.com/test/test.htm

test/test.htm

http://www.contoso.com/test1/

http://www.contoso.com/

../

http://www.contoso.com:8000/

http://www.contoso.com/test/test.htm

http://www.contoso.com/test/test.htm

http://username@www.contoso.com/

http://www.contoso.com/test1/test1.txt

test1/test1.txt

如果 URI 中存在用户信息,则忽略该信息。

System.Uri.MakeRelativeUri 方法例子

路径信息中的差异被写入控制台中。

// Create a base Uri.
Uri address1 = new Uri("http://www.contoso.com/");

// Create a new Uri from a string.
Uri address2 = new Uri("http://www.contoso.com/index.htm?date=today"); 

// Determine the relative Uri.  
Console.WriteLine("The difference is {0}", address1.MakeRelativeUri(address2));

异常

异常 异常描述
ArgumentNullException uri 为 null。
InvalidOperationException 此实例代表一个相对 URI,而此属性仅对绝对 URI 有效。

命名空间

namespace: System

程序集: System(在 System.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。