在研究如何将NameValueCollection转换为查询字符串时,我遇到了不同的方法。我很好奇,如果更短的lambda语法是有效的,它可能是。正在使用c#lambda有效性将NameValueCollection转换为查询字符串?
How to convert NameValueCollection to a (Query) String使用迭代函数。
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 a NameValueCollection into a querystring in C#使用lambda表达式,这看起来不错,但我不知道这是否是有效的代码。
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]))));
}
对于那些(像我)谁在这个偶然的的一般方法从NameValueCollection生成url,这对于具有多个值的参数无法正常工作。提示:遍历'parameters.GetValues(key)'。 – mcNux 2014-06-12 15:30:53