C# NameValueCollectionを繰り返し処理する
2023-09-04 11:36:03
質問
私は
NameValueCollection
があり、その値を反復処理したいと思っています。 現在、私はこれをやっていますが、それを行うためのより良い方法があるように思われます。
NameValueCollection nvc = new NameValueCollection();
nvc.Add("Test", "Val1");
nvc.Add("Test2", "Val1");
nvc.Add("Test2", "Val1");
nvc.Add("Test2", "Val2");
nvc.Add("Test3", "Val1");
nvc.Add("Test4", "Val4");
foreach (string s in nvc)
foreach (string v in nvc.GetValues(s))
Console.WriteLine("{0} {1}", s, v);
Console.ReadLine();
ありますか?
どのように解決するのですか?
Linqでコレクションを平坦化しても
foreach
ループになりますが、より暗黙的なものになります。
var items = nvc.AllKeys.SelectMany(nvc.GetValues, (k, v) => new {key = k, value = v});
foreach (var item in items)
Console.WriteLine("{0} {1}", item.key, item.value);
最初の行は、ネストされたコレクションを、プロパティを持つ匿名オブジェクトの(ネストされていない)コレクションに変換します。 キー と 値 .
という形でフラット化され、マッピングである キー -> 値 の代わりに キー -> 値のコレクション . 例のデータです。
前です。
テスト -> [Val]です。
Test2 -> [Val1、Val1、Val2]とします。
テスト3 -> [Val1]です。
テスト4 -> [Val4]です。
後です。
<ブロッククオートテスト -> バル。
Test2 -> Val1です。
Test2 -> Val1,
Test2 -> Val2です。
テスト3 -> Val1です。
テスト4 -> Val4
関連
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] コレクションを反復処理し、ループ内でオブジェクトを削除する際に ConcurrentModificationException を回避する。
-
[解決済み] .NETでGmailを使ったメール送信
-
[解決済み] Javaでリストを反復処理する方法
-
[解決済み] NameValueCollectionにキーが存在するかどうかを確認する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] NameValueCollectionのKeyValuePairのforeachは?