1

注意:这不是关于Request.QueryString["parameter"].

我将得到一个看起来像查询字符串的字符串,即遵循以下模式:

String s = "alpha=&beta=something&gamma=nothing";

我会使用正则表达式,但也许其他人可以建议一种更简洁的方法来拆分并挑选所包含键的值。建议?

最终,我需要将它们映射到IEnum<KeyValuePair>.

4

4 回答 4

4

尝试使用HttpUtility.ParseQueryString. 来自 msdn:

// Parse the query string variables into a NameValueCollection.
NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);

http://msdn.microsoft.com/en-us/library/ms150046.aspx

于 2013-08-24T13:01:28.520 回答
1

尝试这个:

Dictionary&lt;string,string&gt; d = s.Split('&').Select(x => x.Split('='))
     .ToDictionary(x => x[0], x => x[1]);
于 2013-08-24T12:54:08.220 回答
1
var pairs = s.Split("&");
var keyvaluepairs = pairs.
                    Select(i => 
                    { 
                        var data = i.Split("="); 
                        return new KeyValuePair(data[0], data[1]); 
                    });
于 2013-08-24T12:54:44.010 回答
1

你可以打电话HttpUtility.ParseQueryString

var nvc = HttpUtility.ParseQueryString(s);
于 2013-08-24T13:03:45.997 回答