2014-11-18 8 views
0

У меня есть список, который, как гарантируется, содержит последовательные пары одинаковых элементов. Есть ли способ удалить половину повторяющихся значений в списке (любой элемент каждой пары)?Удалить все остальные элементы списка

Пример # 1:

Take:

{2, 2, 2, 2, 5, 5} 

И вернуться:

{2, 2 , 5} 

Пример № 2:

Take:

{8, 8, 1, 1, 5, 5, 1, 1} 

И возвращение:

{8, 1, 5, 1} 

Там нет необходимости, чтобы проверить, если элементы на самом деле происходит в парах.

+1

Вы пробовали что-нибудь? Где вы код? –

+0

все же одинаковые пары всегда появляются последовательно? – TheVillageIdiot

+0

Что вы ожидаете увидеть из списка {2, 2, 2, 2, 2, 5, 5, 5} ?? –

ответ

5

Если последовательность гарантированно будет выполнена из последовательных пар, то это работает:

values.Where((x, n) => n % 2 == 0) 
+0

Спасибо, что это хорошо работает – GriffinMite

+0

Сделаем, просто нужно подождать немного – GriffinMite

+1

+1. Enigmativity, Не могли бы вы изменить вопрос в лучшую форму, чтобы соответствовать теперь принятому ответу? –

Смежные вопросы