C# 中的查询字符串构建
在与Web资源交互时,构建包含所需参数的查询字符串是常见需求。虽然看似简单,但会遇到一些复杂问题,例如追加分隔符、编码参数和确保参数包含。
为了简化此过程,利用现有的实用程序类是一种有效的方法。但是,对Microsoft文档网络(MSDN)的彻底搜索没有结果。因此,下面提供了一种替代解决方案:
通过使用HttpUtility.ParseQueryString(string.Empty)
,可以获得一个可以修改的HttpValueCollection
实例。此集合类似于NameValueCollection
,允许添加值。随后,对集合调用ToString()
会生成一个包含URL编码值的查询字符串。
<code class="language-csharp">NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); queryString.Add("key1", "value1"); queryString.Add("key2", "value2"); return queryString.ToString(); // "key1=value1&key2=value2"</code>
虽然HttpValueCollection
是内部的,因此不能直接构造,但可以通过获得的实例访问其功能。这允许操作和检索URL编码的查询字符串。
对于.NET Core应用程序,QueryHelpers
类简化了查询字符串的构建。
<code class="language-csharp">const string url = "https://customer-information.azure-api.net/customers/search/taxnbr"; var param = new Dictionary<string, string>() { { "CIKey", "123456789" } }; var newUrl = new Uri(QueryHelpers.AddQueryString(url, param));</code>
以上是如何在C#中有效构建查询字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!