Отображение пользовательской информации с помощью GroupBy - PullRequest
0 голосов
/ 08 июня 2019

Мне нужно использовать groupby в моем коде, чтобы отобразить ActionId и группу на основе поля controllerId.

Проблема в том, что я могу показать ActionId с выбранным выбором, кроме того, что я могу показатьэто:

 var group = conList.GroupBy(x => x.ControllerId).Select(x=>x.ActionId).ToList();

Но когда я использую select, он просто показывает мне Key и Count.

это мой код:

var group = conList.GroupBy(x => x.ControllerId).Select(x=>x.Key).ToList(););

Как быЯ смогу решить эту проблему?

1 Ответ

1 голос
/ 08 июня 2019

На основании вашего вопроса я сделал это:

Допустим, у вас есть следующий класс:

public class Controller
{
    public int ControllerId { get; set; }

    public int ActionId { get; set; }
}

И следующие данные:

var list = new List<Controller>() 
{
    new Controller() { ControllerId = 1, ActionId = 1 },
    new Controller() { ControllerId = 1, ActionId = 2 },
    new Controller() { ControllerId = 1, ActionId = 3 },
    new Controller() { ControllerId = 2, ActionId = 4 },
    new Controller() { ControllerId = 2, ActionId = 5 },
    new Controller() { ControllerId = 2, ActionId = 6 }
};

Чтоэта команда говорит, что есть.Сгруппируйте мой объект типа Controller по ControllerId ( Key ), и для каждого сгруппированного элемента (g) у меня будет список типов Controller.

var groupedList = list.GroupBy(x => x.ControllerId).Select(g => g);

foreach(var g in groupedList)
{
    //g --> is your grouped object a list of type Controller by unique ControllerId.
    //g.Key --> is the value of each unique ControllerId.        
    Console.WriteLine("Group: " + g.Key + " Actions: " + string.Join(";", g.Select(actions => actions.ActionId)));      
}

Ожидаемый результат

Group: 1 Actions: 1;2;3
Group: 2 Actions: 4;5;6

Вы можете проверить приведенный выше код здесь .

Я надеюсь, что объяснение поможет вам решить вашу проблему.Удачи!

Здесь Вы можете найти некоторые образцы и более подробное объяснение о GroupBy здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...