.Net Linq语句去除A集合中存在的B集合数据

发布时间 2023-09-23 22:54:57作者: 喜东东三三

这算是一个取巧的场景,在添加数据库的时候,存在一种场景,主数据表的Id和关系表的Id关联,那么在添加子表的时候,为了避免重复,就可以使用到,当然避免重复的方法有很多,这算是一种偷懒的方式,以下是用过C#代码模拟场景,本片随笔为了记录.....

using System.Collections.Generic;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
        //注释的数据可以打开,可以关闭,不会影响运行,注释掉仅为了测试
var List=new List<ListA>(); //List.Add(new ListA() {Id=1, Name="张三" }); //List.Add(new ListA() {Id=2, Name="李四" }); //List.Add(new ListA() {Id=3, Name="王五" }); List.Add(new ListA() {Id=4, Name="赵六" }); List.Add(new ListA() {Id=5, Name="秦王" }); List.Add(new ListA() {Id=6, Name="赵明" }); List.Add(new ListA() {Id=7, Name="余文乐" }); var List1 = new List<ListB>(); List1.Add(new ListB() { Id = 1}); List1.Add(new ListB() { Id = 2}); List1.Add(new ListB() { Id = 3}); //求出A集合中和B集合中ID不同的数据, List = List.Where(a => !List1.Any(b => b.Id == a.Id)).ToList(); //差集 Console.WriteLine(List); } } public class ListA { public int Id { get; set; } public string Name { get; set; } } public class ListB { public int Id { get; set; } } }