NameValueCollection に対して直接 foreach

MSDNのドキュメントを見ても GetEnumerator が何を返すのか読み取れなくて結局ググって調べた。

Hacking the NameValueCollection のコメント欄より

foreach (KeyValuePair<String,String> nvp in NameValueCollection nvc) {

   [....]

   string key = nvp.Key;

   string value = nvp.Value;

}
  • KeyValuePair<string,string> を使ってはいけない
  • .NET Framework 3.0 以降

伝統的にはこういった辞書型に対してはKeysを順番に取り出して処理をするものなのだが、一度に取り出せるのなら取り出した方が速いのではないかと思った次第。

でも本当に速いかどうかは計測しないといかんな TODO

(7/31 追記) NameValueCollection そのものではなく ASP.NET の QueryString を対象とするのが目的だったのだが、結局うまくいかなかった。Keys を順番に取り出す方式で結局対処することとした。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。