搜索Hashtable

时间:2010-01-29 05:38:42

标签: .net

我有一个包含以下格式的密钥和数据的Hashtable。

Key            Data
--------------------
X1    ---- >   D1
X2    ---- >   D1
X3    ---- >   D1
X4    ---- >   D2
X5    ---- >   D2
X6    ---- >   D3

我的要求是从相同的数据中获取树结构

D1
|------- X1
|--------X2
|--------X3

D2
|------- X4
|--------X5

D3
|------- X6

任何人都可以帮忙解决这个问题吗? 提前致谢

2 个答案:

答案 0 :(得分:2)

你可以这样做

var data = new Dictionary<string, string>() 
{
    { "X1", "D1"},
    { "X2", "D1"},
    { "X3", "D2"},
};

var transform = data.GroupBy(m => m.Value)
                    .ToDictionary(m => m.Key, m => m.Select( g => g.Key )
                    .ToList()); 

答案 1 :(得分:0)

你可以做点什么。

Hashtable  theHash;
theHash = new Hashtable();

theHash.Add("d1", new Hashtable());
theHash.Add("d2", new Hashtable());
theHash.Add("d3", new Hashtable());

Hashtable activeChild;
activeChild = (Hashtable)theHash["d1"];

activeChild.Add("x1", "myvalue");
activeChild.Add("x2", "myvalue2");
activeChild.Add("x3", "myvalue3");