Potrzebuję metody sprawdzania poprawności Uri. Tak, jak struny:Sprawdzanie poprawności URI z łańcucha znaków
"http://www.google.com", "www.google.com", "google.com"
..must zostać zatwierdzone jako URI. I normalne ciągi takie jak "google" nie mogą być sprawdzane jako Uri. Aby wykonać to sprawdzanie, używam dwóch metod: UriBuilder i Uri.TryCreate().
Problem z UriBuilder polega na tym, że dowolny ciąg, który mu podaję, zwraca z niego Uri. Kiedy przekazuję normalny ciąg w jego konstruktorze, daje on schemat i zwraca "http://google/", co nie jest pożądanym zachowaniem.
Problem z Uri.TryCreate() polega na tym, że gdy działa poprawnie z "http://www.google.com" i "www.google.com", to gdy go podaję "google.com", nie sprawdza się jako Uri.
Myślałem o sprawdzaniu napisu, jeśli zaczyna się od http: // lub www, wyślij ciąg do klasy UriBuilder, ale to nie pomoże w "google.com", które również musi być Uri.
W jaki sposób mogę sprawdzić takie dane, jak "google.com" jako Uri, ale nie "google"? Sprawdzanie końca łańcucha dla .com, .net, .org nie wydaje się elastyczne.
Czy możesz sprawdzić, czy chcesz zweryfikować adres URL lub URI? Twoje pytanie jest nieco mylące. – slugster
@ Slugster - po przeczytaniu Twojego pytania sprawdziłem online, aby zrozumieć różnicę, więc odpowiedź brzmi, że muszę zweryfikować URI, a nie URL. –