c# Linq列表中的其他列表

本文关键字:列表 其他 Linq | 更新日期: 2023-09-27 18:17:58

我有两个字符串列表List<string>

 listA
 listB

我需要知道是否所有的listB都在listA中。listA是更大的列表,我们需要确保所有listB都在其中。

是Union吗?

c# Linq列表中的其他列表

不,这不是一个并集。最简单的方法是检查listB中是否有不在listA:

中的。
var result = !listB.Except(listA).Any();

换句话说,如果你把listA的所有东西都从listB中拿走,还会留下什么吗?

当然你也可以更明确地写:

// Optional: makes the Contains check quicker.
var setA = new HashSet<string>(setA);
var result = listB.All(setA.Contains);