C# 使用linq c按键值对“分组”字典
使用linq c按键值对“分组”字典。我没有得到任何结果。如何在linq中执行。1如何使用linq和c转换字符串和字符串的键值对字典。我没有得到任何结果。如何在linq中执行C# 使用linq c按键值对“分组”字典,c#,linq,dictionary,group-by,C#,Linq,Dictionary,Group By,使用linq c按键值对“分组”字典。我没有得到任何结果。如何在linq中执行。1如何使用linq和c转换字符串和字符串的键值对字典。我没有得到任何结果。如何在linq中执行 { Namevalue" : 2, "hotellist" : [ { "id" : 1288, "name" : "nwealth", "street" : "500 Commonwealth Avenue"
{
Namevalue" : 2,
"hotellist" :
[
{
"id" : 1288,
"name" : "nwealth",
"street" : "500 Commonwealth Avenue",
"city" : "Boston",
"postal_code" : "02215",
"room_types" :
{
"Room 1" :
{
"url" : "google-",
"desc" : "dddfddd."
},
"Room 2" :
{
"url" : "yahoo-",
"desc" : "dddfddd."
}
}
}
]
}
Linq查询:
var InventoryData = res.GroupBy(x => new
{
x.Id,
x.Name,
x.Address,
x.City
},
(Key, group) => new
{
HotelId = Key.Id,
groups = group.ToList()
}).ToList().ForEach(r =>
{
room = r.groups.ForEach(x =>
(Key, group) => new Hotelroomtypes
{
roomname = Key.HotelRoomTypeDesc,
RoomType = group.ToList()
});
});
}
我什么也没得到。如何在linq中执行。ForEach方法的语法是public void ForEachAction。所以不能将结果存储在变量InventoryData中。作为ForEach方法中的action方法,您将值设置到room变量中,但该值将被重写为集合中每个元素的最后一个值
{
Namevalue" : 2,
"hotellist" :
[
{
"id" : 1288,
"name" : "nwealth",
"street" : "500 Commonwealth Avenue",
"city" : "Boston",
"postal_code" : "02215",
"room_types" :
{
"Room 1" :
{
"url" : "google-",
"desc" : "dddfddd."
},
"Room 2" :
{
"url" : "yahoo-",
"desc" : "dddfddd."
}
}
}
]
}
我不知道您想做什么,但您可以将ForEach更改为Select方法,而不是设置room变量来返回它。似乎是您在这里的第一个问题。请花些时间阅读帮助中心关于如何提问的内容。它会帮助你的。你的问题越好,你期望得到的答案也就越好。首先要澄清的是:你在标题中提到的词典在哪里?res似乎不是一本字典。第二点:显示源数据和您试图实现的结果。