using Microsoft.AspNetCore.WebUtilities;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features;
public static void Main()
var sampleQueryString = "?param=foo,escape%2Ctest";
var request = new DefaultHttpContext().Request;
var requestFeature = request.HttpContext.Features.Get<IHttpRequestFeature>();
requestFeature.QueryString = sampleQueryString;
var a = request.Query["param"].ToList();
var b = HttpUtility.ParseQueryString(sampleQueryString)["param"];
var c = QueryHelpers.ParseQuery(sampleQueryString)["param"].ToList();
Console.WriteLine(JsonSerializer.Serialize(a));
Console.WriteLine(JsonSerializer.Serialize(b));
Console.WriteLine(JsonSerializer.Serialize(c));