包含在对象关联中

本文关键字:关联 对象 包含 | 更新日期: 2023-09-27 18:12:07

我有以下列表:

var list1 = new List<string> {"m1", "m2", "m3"};
var list2 = new List<List<string>> 
    {
        new List<string>{"m1", "m2", "m3"},//1
        new List<string>{"m1", "m2", "m3", "m4", "m5"},//2
        new List<string>{"m4", "m5", "m3", "m45", "m35"},//3
        new List<string>{"m1", "m36", "m43", "m54", "m54"},//4
        new List<string>{"m2", "m4", "m3", "m44", "m55"}//5
    };

我要选择包含list1所有元素的list2列表。
我们该如何优化呢

包含在对象关联中

您可以使用ExceptAny方法:

var results = list2.Where(x => !list1.Except(x).Any())
list2.Where(l2 => list1.Intersect(l2).Count()==list1.Count)