How to combine URLs/URIs in C#
February 03, 2014
C#
Snippet
The file system have the Path.Combine method to combine paths but how to combine a base URL with an absolute or relative URL/URI?
The answer is to use the System.Uri-constructor to combine the URL:
public static Uri CombineUri(string baseUri, string relativeOrAbsoluteUri) {
return new Uri(new Uri(baseUri), relativeOrAbsoluteUri);
}
public static string CombineUriToString(string baseUri, string relativeOrAbsoluteUri) {
return new Uri(new Uri(baseUri), relativeOrAbsoluteUri).ToString();
}
..
// Results in "http://www.my.domain/relative/path"
var a = CombineUriToString("http://www.my.domain/", "relative/path");
// Results in "http://www.my.domain/absolute/path"
var b = CombineUriToString("http://www.my.domain/something/other", "/absolute/path");
Related posts: