Вы можете использовать метод Uri.IsWellFformedUriString
, который принимает UriKind
в качестве аргумента, указывающего, выполняется ли проверка на абсолютное или относительное.
bool IsAbsoluteUrl(string url) {
if (!Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute)) {
throw new ArgumentException("URL was in an invalid format", "url");
}
return Uri.IsWellFormedUriString(url, UriKind.Absolute);
}
IsAbsoluteUrl("http://www.absolutepath.com/subpage"); // true
IsAbsoluteUrl("/subpage"); // false
IsAbsoluteUrl("subpage"); // false
IsAbsoluteUrl("http://www.absolutepath.com"); // true
Попробуйте следующее:
Uri uri = new Uri("http://www.absolutepath.com/subpage");
Console.WriteLine(uri.IsAbsoluteUri);
Изменить : Если вы не уверены, что адрес правильно сформирован, вы должны использовать:
static bool IsAbsolute(string address, UriKind kind)
{
Uri uri = null;
return Uri.TryCreate(address, kind, out uri) ?
uri.IsAbsoluteUri : false;
}