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 に答える