重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

VisualStudioのVBです。
可不可についてどう手を付けていくかで悩んでます。

Dictionaryで

myDic.Add("いちご",5)
myDic.Add("りんご",3)
myDic.Add("もも",4)
myDic.Add("さくらんぼ",1)

とあった際に、Keyは降順、Valueは昇順の組み合わせに変更
出来るとしたらどのような手段があるのかなと。

希望結果:
りんご 1
もも 3
さくらんぼ 4
いちご 5

やはりKeysとValuesを分けて並び替え、DictionaryをClearで
再登録になりますでしょうか?
本来のDictionaryの使用する意味とは違うって点はわかります。
ただこんなことが出来るのかと試行錯誤中なもので。

質問者からの補足コメント

  • へこむわー

    >DictionaryをClearで再登録に

    もう一つ宣言してZip & ToDictionaryになりそうです。

      補足日時:2022/02/13 16:49
  • うーん・・・

    組み合わせ変更についてはあってたのですね。
    見落としてました。

    key が降順で Value が昇順になるようしてみようかなと考えてました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/02/13 21:49
  • どう思う?

    元のDictionaryから Keys , Values それっぞれのコレクションを取り出し希望の順序で並べ替え、
    Zip により順次双方の値を取り出して ToDictionary でDictionary型を再構築って所が、
    一番短そうにも感じました。

    お騒がせ致しました。

      補足日時:2022/02/14 08:34

A 回答 (1件)

いちご 1


さくらんぼ 3
もも 4
りんご 5
としたいということですか?
この回答への補足あり
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

希望結果:
りんご 1
もも 3
さくらんぼ 4
いちご 5

こちらになります。
要するに本来Dictionaryではキーと値が対になっているものである事は重々承知しています。
それを別々に並び替え(組み合わせ変更)が出来る者かな?と、ちょっと興味を持ったのですが、躓いてます。

Listクラスの配列にKeys Valuesでそれぞれ取り出しSortして、要素番号を使って 別のDictionaryクラスの変数に .Add するってのは思いつきましたが、何かスッキリとしていない状態です。

お礼日時:2022/02/13 21:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!