读书人

关于 multi dictionary?解决思路

发布时间: 2013-02-28 11:33:09 作者: rapoo

关于 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>

读书人网 >C#

热点推荐