Удалить элементы из списка <T>, которые находятся в кортеже <T1, T2> - PullRequest
1 голос
/ 19 февраля 2011

У меня есть Tuple<T1, T2>, который содержит тот же объект, что и в списке, при добавлении объектов из List<T> в кортеж, я хочу удалить их из List<T>.

IЯ уверен, что я могу сделать это легко, используя Lamba & Linq:

//these objects contain some cards
List<Card> cards;
Tuple<Card, Card> ownedcards;

cards.Select(c => ownedcards); //select owned cards from card collection...

, но как мне удалить эти выбранные карты?Нет функции Удалить, которая берет список элементов для удаления?Нужно ли использовать ForEach?

Ответы [ 2 ]

2 голосов
/ 19 февраля 2011
cards.RemoveAll(c => c == ownedcards.Item1 || c == ownedcards.Item2)
0 голосов
/ 19 февраля 2011

A Tuple<T1, T2> - это не коллекция, это кортеж, то есть он содержит один элемент из T1 и один из T2.Вы не можете что-то добавить в кортеж, вы можете просто изменить свойства.

Пожалуйста, опишите, чего именно вы хотите достичь, так как ваша текущая идея невозможна.

...