5 Stimmen

Zusammenführen doppelter Daten ohne Beeinträchtigung anderer im LINQ-Code

Das Ziel:
Wenn es ein Duplikat gibt, sollte es zu einem verschmolzen werden, zum Beispiel wenn "_Name: a", _Menge: 3" und "_Name: a", _Menge: 6" sollten zu "_Name: a", _Menge: 9" in der Liste mit anderen Daten mit Duplikat oder nicht.

Das Problem: Ich habe eine Liste mit vielen Daten und weiß nicht, wie ich doppelte Daten zu einer Einheit zusammenführen kann, ohne dass andere davon betroffen sind. Wenn möglich, möchte ich, dass alles in der gleichen Liste geschieht, ohne dass weitere Listen erstellt werden, um das Ergebnis zu erreichen.

List<Sale> myList = GetAllSalesList()

public classs Sale
{
     public string _name;
     public string _quantity;
}

0voto

Bala R Punkte 104615
var aggregateList = 
    myList.GroupBy(i => i._name)
          .Select(g => new Sale
         {
             _name = g.Key, 
             _quantity = g.Sum(x => Convert.ToInt64(x._quantity)).ToString()
         })
         .ToList();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X