Связанный ответ дает вам то, что вам нужно, но, возможно, нам нужно увидеть это в конкретном контексте, который вы смотрите выше.
Давайте определим класс для хранения вашей модели:
class Item {
public string Name {get;set;}
public int Value {get;set;}
}
Затем мы получим список примеров данных по вашему вопросу:
var items = new List<Item>{
new Item { Name = "Ali", Value = 12 },
new Item { Name = "Hasan", Value = 4 },
new Item { Name = "Hasan", Value = 3 },
new Item { Name = "Ali", Value = 3 }
};
Запрос LINQ, который мы можем выполнить, делает следующее:
var grouped = items.GroupBy(g => g.Name)
.Select(s => new Item
{
Name = s.Key,
Value = s.Sum(x => x.Value)
});
Тоis:
- Сгруппируйте все элементы по Имени (поскольку это ваш уникальный идентификатор)
- Из группировки мы выберем новый
Item
для каждого уникального идентификатора - Суммируем значения элементов, принадлежащих группе
Если мы проверим содержимое grouped
, оно будет содержать:
Name Value
---- -----
Ali 15
Hasan 7