Mam listę ciągów znaków i chcę przekonwertować ją na listę zgrupowaną, w której wartości będą pogrupowane według ich lokalizacji na liście (nie w normalnym grupowaniu, ale w pewnym sensie, że te same przedmioty są w grupie tylko wtedy, gdy są razem). Rozważmy następujący przykład:Grupowanie "inteligentne" z LINQ
LinkedList<string> myList = new LinkedList<string>();
myList.AddLast("aaa");
myList.AddLast("aaa");
myList.AddLast("bbb");
myList.AddLast("bbb");
myList.AddLast("aaa");
myList.AddLast("aaa");
myList.AddLast("aaa");
LinkedList<MyTuple> groupedList = new LinkedList<MyTuple>();
groupedList.AddLast(new MyTuple("aaa", 2));
groupedList.AddLast(new MyTuple("bbb", 2));
groupedList.AddLast(new MyTuple("aaa", 3));
Czy ta przemiana być wykonane z LINQ lub powinienem napisać algorytm zwykły sposób z pętli?
Drugi fragment nie zostanie uruchomiony, ponieważ dwukrotnie dodajesz wartość z tym samym kluczem. –
Tak, widziałem to, zredagowałem pytanie :) – sventevit