【问题标题】:“Grouping” dictionary by key value pair using linq c#使用linq c#按键值对“分组”字典
【发布时间】:2016-04-09 11:36:17
【问题描述】:

使用linq c#按键值对“分组”字典。我没有得到任何东西。如何在linq.1中做我如何使用linq和c#转换字符串和字符串的键值对字典。我做了' t get anything.How to do in linq.

{
  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 中做。

【问题讨论】:

  • 似乎是您在这里的第一个问题。请花一些时间阅读有关如何提问的帮助中心。它会帮助你。你的问题越好,你期望的答案就越好。首先要澄清的是:你在标题中提到的字典在哪里? res 似乎不是字典。第二点:展示源数据和你想要达到的结果。

标签: c# linq dictionary group-by


【解决方案1】:

ForEach 方法的语法是public void ForEach(Action<T> action)MSDN。所以你不能将结果存储在变量InventoryData 中。作为ForEach 方法中的操作方法,您将值设置为room 变量,但该值被重写为集合中每个元素的最后一个值。

我不知道你想做什么,但你可以将 ForEach 更改为 Select 方法,而不是设置 room 变量返回它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多