介绍
在与Web服务互动时,为URL创建结构良好的查询字符串是一个常见的任务。 理论上很简单,但处理诸如正确使用“&”分离器和正确编码的细节可能很麻烦。 >简化的解决方案>而不是使用冗长的重复代码,而是一种更有效,更可读的方法是采用为此特定目的设计的实用程序类。 虽然标准.NET框架缺乏这样的内置类,但存在几种优雅的选择。
利用httpvaluecollection
一种方法使用创建一个可写的
,该可作为System.Web.HttpUtility.ParseQueryString(string.Empty)
>。 添加您的键值对,然后调用HttpValueCollection
以生成查询字符串:NameValueCollection
.net核心应用程序ToString()
<code class="language-csharp">NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); queryString.Add("key1", "value1"); queryString.Add("key2", "value2"); return queryString.ToString(); // Returns "key1=value1&key2=value2" (URL-encoded)</code>
此方法自动处理URL编码并无缝将查询字符串添加到基本URL。
选择最佳方法Microsoft.AspNetCore.WebUtilities.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>
>提供了构造查询字符串的有效方法。
适用于传统的ASP.NET应用程序,而是.NET核心应用程序的首选。
以上是如何在C#中有效地构建优雅的查询字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!