Учитывая последовательность, как показано ниже: -Как удалить дубликаты в середине
var list = new[] {"1a", "1b", "1c", "1d", "2a", "3a", "4a", "4b", "5a", "6a", "7a", "7b", "8a"}.Select(x => new { P1 = x.Substring(0,1), P2 = x.Substring(1,1)});
Я хотел бы, чтобы удалить дубликаты в «средний», чтобы в итоге: -
var expected = new[] {"1a", "1d", "2a", "3a", "4a", "4b", "5a", "6a", "7a", "7b", "8a"}.Select(x => new { P1 = x.Substring(0, 1), P2 = x.Substring(1, 1) });
Таким образом, любые повторы более двух разделяются. Важно, чтобы я получил первый и последний дубликат.
Вы можете использовать 'GroupBy', так как он сохраняет порядок (http://stackoverflow.com/questions/1452507/linq -to-objects-do-groupby-preserve-order-of-elements) или 'Aggregate'. –