Maison >développement back-end >C++ >Comment puis-je construire efficacement des chaînes de requête élégantes en C #?

Comment puis-je construire efficacement des chaînes de requête élégantes en C #?

DDD
DDDoriginal
2025-01-29 23:31:13998parcourir

Création efficace des chaînes de requête élégantes dans C #

Introduction

La création de chaînes de requête bien structurées pour les URL est une tâche fréquente lors de l'interaction avec les services Web. Bien que simple en théorie, la gestion des détails comme l'utilisation correcte des "séparateurs» et du codage d'URL approprié peut être lourd.

Solutions rationalisées

plutôt que d'utiliser un code long et répétitif, une méthode plus efficace et lisible consiste à utiliser une classe de services publics conçue à cette fin spécifique. Alors que le framework .NET standard manque une telle classe intégrée, plusieurs options élégantes existent.

Tiration de HttpValueCollection

Une approche utilise System.Web.HttpUtility.ParseQueryString(string.Empty) pour créer un HttpValueCollection écrivable, qui fonctionne comme un NameValueCollection. Ajoutez vos paires de valeurs clés, puis appelez ToString() pour générer la chaîne de requête:

<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>

Queryhelpers pour .NET Core Applications

pour les projets de base .NET, Microsoft.AspNetCore.WebUtilities.QueryHelpers fournit une solution plus simple:

<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>

Cette méthode gère automatiquement le codage de l'URL et ajoute de manière transparente la chaîne de requête à l'URL de base.

Sélection de la meilleure approche

à la fois HttpValueCollection et QueryHelpers offrent des moyens efficaces de construire des chaînes de requête. HttpValueCollection convient aux applications ASP.NET traditionnelles, tandis que QueryHelpers est le choix préféré pour les applications de base .NET.

How Can I Efficiently Build Elegant Query Strings in C#?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn