Uri.MakeRelativeUri(Uri)方法用于确定两个Uri实例之间的差异。
用法: public Uri MakeRelativeUri (Uri uri);
Here, it takes the URI to compare to the current URI.
返回值:如果此URI实例的主机名和方案与uri相同,则此方法返回一个相对Uri,将其附加到当前URI实例后产生uri。如果主机名或方案不同,则此方法返回代表uri参数的Uri。
异常:
- ArgumentNullException:如果uri为null。
- UriFormatException:如果此实例表示相对URI,并且此属性仅对绝对URI有效。
以下示例程序旨在说明Uri.MakeRelativeUri(Uri)方法的用法:
示例1:
// C# program to demonstrate the
// Uri.MakeRelativeUri() Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
// 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");
// Determining the difference
// between address1 and address2.
// using MakeRelativeUri() method
Uri uri = address1.MakeRelativeUri(address2);
// Displaying the result
Console.WriteLine("relative uri is : {0}", uri);
}
}
输出:
relative uri is : index.htm?date=today
示例2:对于ArgumentNullException
// C# program to demonstrate the
// Uri.MakeRelativeUri() Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// Create a base Uri.
Uri address1 = new Uri("http://www.contoso.com/");
// Create a new Uri from a string.
Uri address2 = null;
// Determining the difference
// between address1 and address2.
// using MakeRelativeUri() method
Uri uri = address1.MakeRelativeUri(address2);
// Displaying the result
Console.WriteLine("relative uri is : {0}", uri);
}
catch (ArgumentNullException e)
{
Console.WriteLine("uri should not be null");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
uri should not be null Exception Thrown: System.ArgumentNullException
示例3:对于UriFormatException
// C# program to demonstrate the
// Uri.MakeRelativeUri() Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
try {
// Create a base Uri.
Uri address1 = new Uri("http://www.contoso.com/");
// Determining the difference
// between address1 and address2.
// using MakeRelativeUri() method
Uri uri = address1.MakeRelativeUri(new Uri("http:://www.contoso.com/??index.htm?date=today"));
// Displaying the result
Console.WriteLine("relative uri is : {0}", uri);
}
catch (ArgumentNullException e) {
Console.WriteLine("uri should not be null");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
catch (UriFormatException e) {
Console.WriteLine("uri should be in correct format");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
uri should be in correct format Exception Thrown: System.UriFormatException
参考:
相关用法
- C# DateTimeOffset.Add()用法及代码示例
- C# String.Contains()用法及代码示例
- C# Math.Sin()用法及代码示例
- C# Math.Cos()用法及代码示例
- C# Dictionary.Add()用法及代码示例
- C# Math.Tan()用法及代码示例
- C# Math.Abs()方法用法及代码示例
- C# Math.Exp()用法及代码示例
- C# Math.Abs()函数用法及代码示例
注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 C# | Uri.MakeRelativeUri(Uri) Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。