Ich möchte etwas ähnliches wie this erreichen. Aber ich weiß nicht, auf welche Weise ich diese Lösung benutzen kann.Teilen Sie eine Sammlung in Teile basierend auf dem Zustand mit LINQ?
hat mein Unternehmen diese Eigenschaften
CustomerName
Date
SortOrder
Ich habe ganze Liste dieser Entität. Was ich tun möchte, ist, Gruppe alle diese Elemente in List <> die Datum und gleiche Kundenname in Folge SortOrder und gleiche haben
Beispiel Eingang
var inv = new List<Invoice>(){
new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 0},
new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 1},
new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 2},
new Invoice(){ CustomerName = "xyz" ,Date = DateTime.Today.Subtract(TimeSpan.FromDays(1)), SortOrder = 3},
new Invoice(){ CustomerName = "xyz" ,Date = DateTime.Today.Subtract(TimeSpan.FromDays(1)), SortOrder = 4},
new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 5},
new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 6}
};
Beispiel Ausgabe
var invGrouped = new List<List<Invoice>>
{
new List<Invoice>
{
new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 0},
new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 1},
new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 2}
},
new List<Invoice>
{
new Invoice {CustomerName = "xyz", Date = DateTime.Today.Subtract(TimeSpan.FromDays(1)), SortOrder = 3},
new Invoice {CustomerName = "xyz", Date = DateTime.Today.Subtract(TimeSpan.FromDays(1)), SortOrder = 4}
},
new List<Invoice>
{
new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 5},
new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 6}
}
};
UPDATE
Nicht-LINQ-Lösung wird ebenfalls ausreichen.
Es sehr helfen würde, wenn Sie eine kleine Probe von Daten sowie genau enthalten könnten, was Sie erwarten, dass die Daten zu sehen aus wie es einmal gruppiert wurde. – diceguyd30
@ diceguyd30! Ich habe die Frage – IsmailS
aktualisiert. Warum sind die beiden untersten Zeilen (mit CustomerName "Abc" und DateTime of Today) nicht in der gleichen Liste wie die anderen Bestellungen von Kunden "Abc", die heute aufgegeben wurden? –