1

看起来我永远不会遇到问题。现在我想像这样初始化一个字典(正是这个):

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

否则我需要一个集合,它可以包含一个字符串和两个整数值。是否有足够的简单forforeach循环来收集所有这些数据(字符串可以是键值)?

更新

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,但是返回的 Dictionary 不包含它或者我不知道,但是在调用方没有键或值属性只有键和值.

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 回答