System.Uri.MakeRelative Method

Determines the difference between two Uri instances.

Syntax

[System.Obsolete("Use MakeRelativeUri(Uri uri) instead.")]
public string MakeRelative (Uri toUri)

Parameters

toUri
The URI to compare to the current URI.

Returns

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.

Remarks

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.

Example

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
index.htm

Requirements

Namespace: System
Assembly: System (in System.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0