Comment vérifiez-vous que l'uri de la chaîne est valide (que vous pouvez nourrir à l'Uri constructeur)?
Jusqu'à présent je n'ai que le suivant, mais pour des raisons évidentes, je préfère un moins brute façon:
Boolean IsValidUri(String uri)
{
try
{
new Uri(uri);
return true;
}
catch
{
return false;
}
}
J'ai essayé d'Uri.IsWellFormedUriString mais il ne semble pas comme tout ce que vous pouvez jeter à l'constructeur. Par exemple:
String test = @"C:\File.txt";
Console.WriteLine("Uri.IsWellFormedUriString says: {0}", Uri.IsWellFormedUriString(test, UriKind.RelativeOrAbsolute));
Console.WriteLine("IsValidUri says: {0}", IsValidUri(test));
La sortie sera:
Uri.IsWellFormedUriString says: False
IsValidUri says: True
Mise À Jour/Répondre
L'Uri constructeur utilise genre Absolue par défaut. C'était à l'origine un écart lorsque j'ai essayé d'utiliser l'Uri.TryCreate et le constructeur. Vous n'obtenez pas les résultats escomptés, si vous faites correspondre le UriKind pour le constructeur et TryCreate.
Merci,