Ist die Konvertierung einer NameValueCollection an einen querystring mit einem c# - lambda-effizient?

In der Erforschung, wie die Konvertierung einer NameValueCollection an einen querystring, habe ich über verschiedene Methoden. Ich bin gespannt, ob die kürzere lambda-syntax ist so effizient wie es sein könnte.

Wie konvertiert NameValueCollection zu einem (Query -) String mit einer Funktion Durchlaufen.

public static String ConstructQueryString(NameValueCollection parameters)
{
    List<String> items = new List<String>();

    foreach (String name in parameters)
        items.Add(String.Concat(name, "=", System.Web.HttpUtility.UrlEncode(parameters[name])));

    return String.Join("&", items.ToArray());
}

Join ein NameValueCollection-in einen querystring-Parameter in C# verwendet einen lambda-Ausdruck, der sieht nett aus, aber ich bin mir nicht sicher, ob es effizienten code.

private static string JoinNvcToQs(NameValueCollection qs)
{
    return string.Join("&", Array.ConvertAll(qs.AllKeys, key => string.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(qs[key]))));
}
Schreibe einen Kommentar