C# URL的URI IsWellFormedOriginalString带有hashbang

C# URL的URI IsWellFormedOriginalString带有hashbang,c#,validation,uri,C#,Validation,Uri,我想使用IsWellFormedOriginalString验证URL。我使用以下代码: var enc2 = "/discussion/somepage.aspx?DiscussionID=13&PostID=1#post4"; Uri.TryCreate(enc2, UriKind.RelativeOrAbsolute, out u1); Console.WriteLine(u1.IsWellFormedOriginalString()); 但它返回false。如果我使用没有散列的

我想使用
IsWellFormedOriginalString
验证URL。我使用以下代码:

var enc2 = "/discussion/somepage.aspx?DiscussionID=13&PostID=1#post4";
Uri.TryCreate(enc2, UriKind.RelativeOrAbsolute, out u1);
Console.WriteLine(u1.IsWellFormedOriginalString());
但它返回
false
。如果我使用没有散列的URL

/discussion/somepage.aspx?DiscussionID=13&PostID=1

它工作正常。如何修复它?

阅读本文后,我意识到哈希不应该作为Uri的一部分进行验证。所以我在检查之前排除散列部分:

enc2 = enc2.Split('#')[0];