我有一个包含以下格式的密钥和数据的Hashtable。
Key Data
--------------------
X1 ---- > D1
X2 ---- > D1
X3 ---- > D1
X4 ---- > D2
X5 ---- > D2
X6 ---- > D3
我的要求是从相同的数据中获取树结构
即
D1
|------- X1
|--------X2
|--------X3
D2
|------- X4
|--------X5
D3
|------- X6
任何人都可以帮忙解决这个问题吗? 提前致谢
答案 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");