guten tach auch :)
ich habe folgende frage/folgendes problem:
ich habe eine objektliste (nennen wir die mal Mainlist) vorliegen mit den attributen at1-at20. ich erstelle gerade eine liste (Neuelist) mit dem algorithmus:
C#-Code: |
bool InList;
foreach object oM in Mainlist
{
InList = false;
foreach object oN in Neuelist
{
wenn (oM.at1 == oN.at1 && oM.at2 == oN.at2 && oM.at3 == oN.at3)
{
InList = true;
break;
}
}
if (!InList)
{
oN.Add(oM);
}
}
|
ich versuche die ganze zeit das einmal als linq auszudrücken und einmal über oM.GroupBy(y => ......).... nur ich komme einfach nicht zum ziel -.-
ich habe mir z.b.
C# Linq Group By on multiple columns durchgelesen, aber bei den beispielen hatte ich folgende probleme:
ich möchte mir die Neuelist gerne in einem datagridview anzeigen lassen. wenn ich nach dem GroupBy(....) dann Select( x => new {spalteAt1 = x.At1.....}) schreibe, kann ich nur auf die Attribute zurückgreifen, die in der GroupBy-Klausel stehen, nicht aber at4, at5 etc. ich hatte auch nur eine spalte, nämlich 'Key' und leider nicht, wie erhofft, mehrere.
daher meine frage: wie kann ich in einer objekt-liste, in der jedes objekt die attribute at1-at20 hat, nach 3 attributen distinct selektieren aber trotzdem in dieser 'collection' sag ich jetzt einfach mal auf alle anderen attribute zurückgreifen?
danke schonmal im voraus :)
gruß
kraeppy