Determines the difference between two Uri instances.
![]()
If the hostname and scheme of this URI instance and toUri are the same, then this method returns a string that represents a relative URI that, when appended to the current URI instance, yields the toUri parameter.
If the hostname or scheme is different, then this method returns a string that represents the toUri parameter.
The following table shows the URI instance, toUri, and the results of calling Uri.MakeRelative(Uri).
| 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 |
User information, if present in the URI, is ignored.
The following example demonstrates the Uri.MakeRelative(Uri) method.
C# Example
using System;
public class UriTest {
public static void Main() {
Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
Console.WriteLine(myUri.ToString());
Console.WriteLine(myUri.MakeRelative(new Uri ("http://www.contoso.com/index.htm")));
}
}
The output is
http://www.contoso.com/Hello World.htm