首页 >后端开发 >C++ >如何在C#中有效构建查询字符串?

如何在C#中有效构建查询字符串?

Barbara Streisand
Barbara Streisand原创
2025-01-29 23:41:15822浏览

How to Efficiently Construct Query Strings in C#?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn