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中文網其他相關文章!