はじめに
Webサービスと対話する場合、URLの適切に構造化されたクエリ文字列を作成することは頻繁なタスクです。 理論的には単純ですが、「&」セパレーターや適切なURLエンコードの正しい使用のような詳細を処理することは面倒です。
合理化されたソリューション
より長くて反復的なコードを使用するのではなく、より効率的で読みやすい方法は、この特定の目的のために設計されたユーティリティクラスを採用することです。 標準の.NETフレームワークにはこのような組み込みクラスがありませんが、いくつかのエレガントなオプションが存在します。 httpvalueCollection を使用して、を作成するを作成します。 キー価値のペアを追加してから、に電話してクエリ文字列を生成します。
.NETコアアプリケーション用のQueryHelpers System.Web.HttpUtility.ParseQueryString(string.Empty)
HttpValueCollection
queryhelpers NameValueCollection
ToString()
.NETコアプロジェクトの場合、
<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 中国語 Web サイトの他の関連記事を参照してください。