Это должно работать:
string url = "http://example.com/file?a=1&b=2&c=string%20param";
string querystring = url.Substring(url.IndexOf('?'));
System.Collections.Specialized.NameValueCollection parameters =
System.Web.HttpUtility.ParseQueryString(querystring);
Согласно MSDN . Не точный тип коллекции, который вы ищете, но тем не менее полезен.
Edit: По-видимому, если вы укажете полный URL-адрес ParseQueryString
, он добавит ' http://example.com/file?a ' в качестве первого ключа коллекция. Поскольку это, вероятно, не то, что вы хотите, я добавил подстроку, чтобы получить только соответствующую часть URL.