Проверка Uri из строки

Мне нужен метод проверки Uri. Итак, строки вроде:

" http://www.google.com ", "www.google.com", "google.com"

.. должен быть подтвержден как Uri. А также обычные строки, такие как "google", не должны проверяться как Uri. Для выполнения этой проверки я использую два метода: UriBuilder и Uri.TryCreate ().

Проблема с UriBuilder в том, что любая строка, которую я ему передаю, возвращает Uri из нее. Когда я передаю в его конструктор обычную строку, он дает ему схему и возвращает « http: // google / », что не соответствует моему желанию.

Проблема с Uri.TryCreate () в том, что, хотя он нормально работает с " http://www.google.com " и "www.google.com", когда я его даю » google.com "не проверяется как Uri.

Я думал о проверке строки, если она начинается с http: // или www, отправить строку в класс UriBuilder, но это не помогает с google.com, который также должен быть Uri.

Как я могу проверить такие вещи, как "google.com" как Uri, но не "google" ? Проверка конца строки для .com, .net, .org не кажется гибкой.

9
задан p.campbell 20 May 2015 в 02:59
поделиться