我有一个var变量分配如下,其中x.Item
的类型为'对象'
var items = paymentList.Select(x => x.Item).Distinct();
说项目包含,两个值AUTO和ADVANCE。
我有一个CreditCard
类型的对象
public class CreditCard
{
public string uniqueId {get; set;}
}
我有一个名单itemsList
有CreditCard。我想删除那些uniqueId“不在”items
集合中的人。
itemsList.RemoveAll(x => x as ct_CreditCard.uniqueId not in items)
假设我在itemsList
中有两个CreditCard对象,其uniqueId值为AUTO和BILL。
它应该删除具有uniqueId = BILL的CreditCard,因为items
只包含AUTO和ADVANCE
我怎样才能实现它?
我认为这可行
itemList.RemoveAll(x => !items.Contains(((ct_CreditCard)x).uniqueId)
以下适用于任何可枚举的CreditCards序列,不仅适用于List<CreditCard>
var listWithoutItems = originalList
.Where(creditCard => !items.Contains(creditCard.UniqueId));
如果您想用这个新列表替换原始列表:
originalList = originalList
.Where(creditCard => !items.Contains(creditCard.UniqueId))
.ToList();
试试这个代码
itemsList.RemoveAll(crItem => !items.Any(y => y == crItem.uniqueId));