1. ホーム
  2. c#

[解決済み] NameValueCollectionのKeyValuePairのforeachは?

2023-05-27 17:22:05

質問

このようなコードがあります。

NameValueCollection nv = HttpUtility.ParseQueryString(queryString);        
foreach (KeyValuePair<String,String> pr in nv) {
    //process KeyValuePair          
}

これはコンパイルされますが、実行しようとすると InvalidCastException .

これはなぜでしょうか?なぜ私は KeyValuePair を反復するために NameValueCollection を反復することができます。そして、私は代わりに何を使用する必要がありますか?

どのように解決するのですか?

まず最初に NameValueCollectionKeyValuePair<String,String> . また foreach はキーだけを公開します。

NameValueCollection nv = HttpUtility.ParseQueryString(queryString);        
foreach (string key in nv) {
    var value = nv[key];

}