C# 如何验证编码的url

C# 如何验证编码的url,c#,url,C#,Url,我有一个编码的url无效,我想在使用HttpUtility.UrlDecode()对其进行解码之前对其进行验证 如何验证下面的编码url: http%3A%2F%2Fwww.one-two.com&buyer=21 您可以像这样验证url: Uri sd; bool b_validUrl = Uri.TryCreate(Uri.UnescapeDataString("http%3A%2F%2Fwww.one-two.com&buyer=21"), UriKind.Relativ

我有一个编码的url无效,我想在使用
HttpUtility.UrlDecode()对其进行解码之前对其进行验证
如何验证下面的编码url:

http%3A%2F%2Fwww.one-two.com&buyer=21

您可以像这样验证url:

Uri sd;
bool b_validUrl = Uri.TryCreate(Uri.UnescapeDataString("http%3A%2F%2Fwww.one-two.com&buyer=21"), UriKind.RelativeOrAbsolute, out sd);

如果
b_validull=true
则url有效,否则无效。

根据什么验证?为什么在解码之前?这里什么是无效的?如果您已经知道它是无效的,为什么还要验证呢?我当前的应用程序通过web服务调用获取编码的url,如果返回的url无效,应用程序将抛出错误并中断。我想阻止应用程序崩溃,上面的url是从web服务调用返回的示例url。错误是…..com&buyer=21之间的符号。在崩溃点引入try-catch块并简单地优雅地退出怎么样?这就是错误处理的目的,你知道吗?