ホームページ >バックエンド開発 >C++ >C#でエレガントなクエリ文字列を効率的に構築するにはどうすればよいですか?

C#でエレガントなクエリ文字列を効率的に構築するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-29 23:31:13922ブラウズ

c#

のエレガントなクエリ文字列を効率的に作成します

はじめに

Webサービスと対話する場合、URLの適切に構造化されたクエリ文字列を作成することは頻繁なタスクです。 理論的には単純ですが、「&」セパレーターや適切なURLエンコードの正しい使用のような詳細を処理することは面倒です。

合理化されたソリューション

より長くて反復的なコードを使用するのではなく、より効率的で読みやすい方法は、この特定の目的のために設計されたユーティリティクラスを採用することです。 標準の.NETフレームワークにはこのような組み込みクラスがありませんが、いくつかのエレガントなオプションが存在します。

httpvalueCollection を使用して、を作成するを作成します。 キー価値のペアを追加してから、に電話してクエリ文字列を生成します。

.NETコアアプリケーション用のQueryHelpers System.Web.HttpUtility.ParseQueryString(string.Empty)HttpValueCollectionqueryhelpers NameValueCollectionToString() .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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。