URI文字列が有効であること(Uriコンストラクタに渡すことができます)を確認するにはどうすればよいですか?私はUri.IsWellFormedUriStringしようとしたが、あなたがに投げることができるすべてのものが好きなようには見えないuri文字列が有効であることを確認する方法
Boolean IsValidUri(String uri)
{
try
{
new Uri(uri);
return true;
}
catch
{
return false;
}
}
:
これまでのところ私は、次のを持っているが、私はあまりブルート方法を好む明白な理由のためにコンストラクタたとえば:
String test = @"C:\File.txt";
Console.WriteLine("Uri.IsWellFormedUriString says: {0}", Uri.IsWellFormedUriString(test, UriKind.RelativeOrAbsolute));
Console.WriteLine("IsValidUri says: {0}", IsValidUri(test));
出力は次のようになります。
Uri.IsWellFormedUriString says: False
IsValidUri says: True
更新/
ウリのコンストラクタは、デフォルトでは一種の絶対使用しています回答します。 Uri.TryCreateとコンストラクタを使用しようとすると、これは不一致を引き起こしていました。コンストラクタとTryCreateの両方に対してUriKindをマッチさせると、期待される結果が得られます。
おかげで、あなたのケースで
良い機能を作りました! +1 –
質問の編集として回答を追加しないでください。既存の回答に何かを追加する場合は、別の回答として追加します。あなたの質問から回答を編集してください。 –
[文字列が有効なHTTP URLであるかどうかをチェックする方法]の複製が可能ですか?(http://stackoverflow.com/questions/7578857/how-to-check-whether-a-string-is-a-valid-http -url) – Amalea