听起来好像以前有人问过这个答案,但不一样。我正在寻找一种方法来检查列表“A”是否包含列表“B”中的所有元素,我从这个问题中得到了答案:Does .NET have a way to check if List a contains all items in List b ? . 不管怎样,我对这个解决方案有疑问。
我的列表“A”可以有一系列Item
对象,列表 B 也可以,如果列表 B 包含 2 次相同的对象并且我的列表“A”为 1 或更少,我希望我的代码返回 false。这段代码(取自正确答案):
return !RequiredItems.Except(Application._player.InventoryItems).Any();
仅检查元素是否在列表“A”中至少存在一次。例子:
清单 A:汽车
清单 B:汽车,汽车
将返回 true,因为 List A 包含一辆汽车,即使我希望它返回 false,除非它有 2 辆汽车。
有没有办法修改该代码以制作我想要的东西,或者有另一种方法来实现这一点?
编辑: @HimBromBeere 让我意识到我忘了说一些非常重要的事情。列表 A 需要至少具有相同数量的元素才能实现目标。如果此列表 A 包含 1000 辆汽车,而列表 B 仅包含 B,则它应该返回 true。如果列表 A 在列表 B 中包含较少或没有元素(包括重复项),则它只能返回 false。
胡说叔叔
相关分类