1

問題が尽きることはないようです。今、私はこのようなディクショナリを初期化したいと思います(まさにこれ):

Dictionary<string, Dictionary<int, int>> origRes = new Dictionary<string, Dictionary<int, int>>

または、1 つの文字列と 2 つの整数値を含むことができるコレクションが必要です。そして、これらすべてのデータを収集するのに十分な単純なfororループでしょうか (文字列はキー値になる可能性があります)?foreach

アップデート

public static Dictionary<int, int> resRequest(string requestedForm)
        {
            Dictionary<int, int> kp = new Dictionary<int, int>();
            Dictionary<string, KeyValuePair<int, int>> origRes = new Dictionary<string, KeyValuePair<int, int>>();
            origRes.Add("Polübiosz", new KeyValuePair<int, int>(560,310));
            origRes.Add("Morze", new KeyValuePair<int, int>(690, 510));
            origRes.Add("Caesar", new KeyValuePair<int, int>(700, 500));
            origRes.Add("OwnCrypt", new KeyValuePair<int, int>(830, 570));
            origRes.Add("Hamming", new KeyValuePair<int, int>(850, 500));
            origRes.Add("Kezdőkép", new KeyValuePair<int, int>(1280, 1024));

            foreach(KeyValuePair<string,KeyValuePair<int, int>> pair in origRes)
            {
                if(pair.Key==requestedForm)
                {
                    kp.Add(pair.Value.Key,pair.Value.Value);
                }
            }
            return kp;
        }

これが私の完全な方法ですそして、からキーと値を取得したいのですKeyValuePairが、返された辞書にそれが含まれていないか、わかりませんが、呼び出し側にはキーまたは値属性はなく、キーと値のみです.

4

1 に答える 1

3

文字列、int、intを含むクラスを作成し、それをより単純な辞書に入力してみませんか?

だから代わりに

Dictionary<string, Dictionary<int, int>>

行う:

Dictionary<string, MyType>

MyTypeは次のようなものです。

class MyType {
    public string KeyVal { get; set; } // optional - to match your dict key
    public int Int1Val{ get; set; }
    public int Int2Val{ get; set; }
}
于 2013-03-08T23:22:41.500 に答える