asp.net 使用C#和Linq选择不同列表中的相似项

mlmc2os5  于 2022-12-20  发布在  .NET
关注(0)|答案(2)|浏览(166)

在asp.net mvc应用程序中,我试图根据用户从产品规格中选择的内容执行选择。假设用户选择了以下参数作为选择:

manufacturer: [apple, sony, samsung]
ram: [8, 128, 256]
size: [12, 13.5]

基于此,假设选择产生产品ID列表。

list1={10,12,18,100}
list2={10,18,20,21,100,102}
list3={1,2,9,10,12,18,100}

结果应该是公共Id:

result={10,18,100}

既然可能有3个以上的列表,那么是否有一个Linq命令可以处理任意数量的列表?

irlmq6kh

irlmq6kh1#

您可以使用. NET提供的Intersect方法。

gfttwv5a

gfttwv5a2#

使用交集从两个列表中获得相似的项目。

List<string> Fruits = new List<string>();
        Fruits.Add("Apple");
        Fruits.Add("Mango");
        Fruits.Add("Grapes");
        Fruits.Add("Banana");
        Fruits.Add("Orange");
        Fruits.Add("Sweet Potato");

        List<string> Vegetables = new List<string>();
        Vegetables.Add("Tomato");
        Vegetables.Add("Potato");
        Vegetables.Add("Onion");
        Vegetables.Add("Apple");
        Vegetables.Add("Orange");
        Vegetables.Add("Banana");

        var Data = Fruits.Intersect(Vegetables).ToList();
        foreach(var d in Data)
        {
            Console.WriteLine(d);
        }

产量:-苹果香蕉橙子

相关问题