Quantcast
Channel: How to build a query string for a URL in C#? - Stack Overflow
Viewing all articles
Browse latest Browse all 43

Answer by Kino101 for How to build a query string for a URL in C#?

$
0
0

One modern approach for .NET projects (when not in ASP.NET with QueryString).

Extension method

public static class QueryStringHelper{    [Pure]    public static string ToQueryString(this IDictionary<string, object?>? dict)    {        var queryParams = dict?            .Where(kvp => kvp.Value != null)            .Select(kvp => $"{HttpUtility.UrlEncode(kvp.Key)}={HttpUtility.UrlEncode(kvp.Value!.ToString())}")            .ToArray();        if (queryParams is not { Length: > 0 })             return "";        return $"?{string.Join('&', queryParams)}";    }}

Usage

var queryParams = new Dictionary<string, object?>{    { "p1", "v1" },    { "p2", 2 },    { "p3", null }, // null: parameter ignored    { "p4", false },}.ToQueryString();

Result:?p1=v1&p2=2&p4=false


Viewing all articles
Browse latest Browse all 43

Latest Images

Trending Articles





Latest Images