Объединить элементы в списке объектов

У меня есть этот класс:

public class Note
{
    public DateTime Date { get; set; }
    public string Time { get; set; }
    public string Text { get; set; }
}

и список

List<Note> ungroupedNotes;

Я хочу сгруппировать несколько заметок с одинаковыми датой и временем в одну заметку (их свойства текста должны быть объединены, дата и время совпадают) и вывести новую

List<note> groupedNotes;

1 ответ

Попробуй это:

var groupedNotes = ungroupedNotes.GroupBy(x => new { x.Date, x.Time })
                                 .Select(x => new Note
                                              {
                                                  Date = x.Key.Date,
                                                  Time = x.Key.Time,
                                                  Text = string.Join(
                                                           ", ",
                                                           x.Select(y => y.Text))
                                              })
                                 .ToList();
Другие вопросы по тегам