using System.Collections.Generic;
using System.Threading.Tasks;
public static async Task Main()
var formData = new KeyValuePair<string, string>[] {
new KeyValuePair<string, string>("@@FirstName@@firs", "a"),
new KeyValuePair<string, string>("@@LastName@@last", "b1"),
new KeyValuePair<string, string>("@@Address1@@addre", "C"),
var requestData = new FormUrlEncodedContent(formData);
var contentAsString = await requestData.ReadAsStringAsync();
static string Encode(string data) => Uri.EscapeDataString(data).Replace("%20", "+");
var formDataString = formData.Aggregate(new StringBuilder(),
(sb,kv) => sb.Append($"&{Encode(kv.Key)}={Encode(kv.Value)}"),
(sb) => sb.Remove(0,1).ToString());