8,497
社区成员
发帖
与我相关
我的任务
分享
//============================模拟数据==================================//
Dictionary<string, Dictionary<string, object>> dic_dic = new Dictionary<string, Dictionary<string, object>>();
Dictionary<string, object> dic = new Dictionary<string, object>();
dic.Add("name", "回复剂");
dic.Add("type", "药");
dic_dic.Add("0", dic);
Dictionary<string, object> dic2 = new Dictionary<string, object>();
dic2.Add("name", "以太");
dic2.Add("type", "药");
dic_dic.Add("1", dic2);
Dictionary<string, object> dic3 = new Dictionary<string, object>();
dic3.Add("name", "斧子");
dic3.Add("type", "武器");
dic_dic.Add("2", dic3);
//===================================================================//
Dictionary<string, List<Dictionary<string, object>>> allDic = new Dictionary<string, List<Dictionary<string, object>>>();
List<Dictionary<string, object>> medList = new List<Dictionary<string, object>>();//药品list
List<Dictionary<string, object>> weaList = new List<Dictionary<string, object>>();//武器list
for (int i = 0; i < dic_dic.Count; i++)
{
Dictionary<string, object> d = dic_dic.Values.ElementAt(i);
for (int j = 0; j < d.Count; j++)
{
if (d.Values.ElementAt(j) == "药")
{
medList.Add(d);
}
else if (d.Values.ElementAt(j) == "武器")
{
weaList.Add(d);
}
}
}
allDic.Add("药", medList);
allDic.Add("武器", weaList);
Dictionary<string, List<Dictionary<string, object>>> allDic = dic_dic.GroupBy(x=>x.Value["type"])
.Select(g=> new {key=g.Key, value = g.Select(s=>s.Value)})
.ToDictionary(v=> v.key.ToString(), v=>v.value.ToList());