获取所有查询字符串对并初始化字典的最佳方法

我想在我的查询字符串中存储所有键/值对:

www.example.com/?a=2&b=3&c=34 

进入字典。 有没有一种快速的方法来做这个而不必手动循环所有的项目?

试试HttpUtility.ParseQueryString()

它会为您提供键和值的NameValueCollection

获取问号后面找到的字符串,将字符串拆分为“&”字符。 然后,对于要返回的每个字符串,再次在’=’字符上拆分。

你甚至可以为它创建一个扩展方法。

 public static class StringExtensions { public Dictionary ExtractQueryStringValues( this string target ) { string queryString = target.Split (target.IndexOf ('?') + 1); string[] keyvaluePairs = queryString.Split ('&'); Dictionary result = new Dictionary(); foreach( string pair in keyvaluePairs ) { var tmp = pair.Split ('='); result.Add (tmp[0], tmp[1]); } return result; } } 

这样的事情。 请记住,它不安全,因为它不处理每个边缘情况。 (例如,给出一个在第一个问号之后没有任何内容的字符串,等等……),但它应该让你开始。