首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于 multi dictionary?解决思路

2013-02-28 
关于 multidictionary?泛型 Dictionary(Of (TKey, TValue)) 是一个key,相应的值。。请问,存在 多个 key

关于 multi dictionary?
泛型 Dictionary<(Of <(TKey, TValue>)>) 是一个key,相应的值。。

请问,存在 多个 key的用什么实现?
有没有 Dictionary 存在多个 key的 请教?

例子:
原来的Dictionary 是这样。。。

Dictionary<string, string> openWith = 
    new Dictionary<string, string>();

openWith.Add("1", "100");
openWith.Add("2", "200");


我现在想做的是。。

openWith.Add("1","0" "100");
openWith.Add("1","1" "150");
openWith.Add("1","2" "250");

openWith.Add("2","4" "500");
openWith.Add("2","8" "700");


然后 以下面形式读取数据。。。
foreach (KeyValuePair<string, Dictionary<string, string>> keys in openWith)
{
}
dictionary
[解决办法]
蛋疼


public class CustomDictionary : Dictionary<string, Dictionary<string, string>>
{
    public void Add(string key, string subkey, string value)
    {
         Dictionary<string, string> entry;
         if(!base.TryGetValue(key))
         {
              entry = new Dictionary<string, string>();
              base.Add(key, entry);
         }
         entry[subkey] = value;
    }
}





[解决办法]
傻,
Dictionary<string, List<string>>
就可以了。相同key的放在一个List里面
[解决办法]
Dictionary<string, List<Cls>> openWith = 
    new Dictionary<string, List<Cls>>();

public class Cls
{
public string id;
pulic string value;

}
[解决办法]
每次添加记录前:
if (!dict.ContainsKey("某key"))
    dict.Add("某key", new List<string>());
dict["某key"].Add("某值");

3个的话可以用Dictionary<string, Dictionary<string, List<string>>>
当然,我觉得你用DataTable更好。
[解决办法]
public class Key
{
     public string FirstKey{get;set;}
     public string SecondKey{get;set;}

     public override bool Equals(object another){}
}

Dictionary<Key,string>

热点排行