Tengo una lista de cadenas y quiero convertirlo en algún tipo de lista agrupada, por lo que los valores se agruparían por su ubicación en la lista (no agrupación normal, pero de una manera, que los mismos elementos están en un grupo solo si están juntos). Considere el siguiente ejemplo:'Inteligente' agrupamiento con 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));
¿Se puede hacer esta transformación con LINQ o debería escribir el algoritmo de la forma habitual con los bucles?
El segundo fragmento no se ejecutará ya que está agregando un valor con la misma clave dos veces. –
Sí, lo vi, edité la pregunta :) – sventevit