简体   繁体   English

LINQ - 比较List对象和字符串列表

[英]LINQ - Compare List objects and List of strings

I have a list of objects ( List1 ) and list of string ( List2 - list of Names of the objects) 我有一个对象列表( List1 )和一个字符串列表( List2 - 对象名称列表)

I need to get all objects from List1 if the object.Name does not exists in List2 如果List2中不存在object.Name,我需要从List1获取所有对象

How can write this LINQ C#.? 如何编写这个LINQ C#。

public class Class1
{
    public string Name {get;set;}
}

var List1 = new List<Class1>();
var List2 = new List<string>();
var result = List1.Where(x=>!List2.Contains(x.Name)).ToList();

Or: 要么:

var result = List1.Where(x=>!List2.Any(n=>n==x.Name)).ToList();
class Program
{
    static void Main(string[] args)
    {

        List<List1Class> listClass = new List<List1Class>();

        listClass.Add(new List1Class { ObjectName = "obj1" });
        listClass.Add(new List1Class { ObjectName = "obj2" });
        listClass.Add(new List1Class { ObjectName = "obj3" });
        listClass.Add(new List1Class { ObjectName = "obj4" });

        List<string> listString = new List<string>();
        listString.Add("obj2");
        listString.Add("obj4");
        listString.Add("obj5");

        var filterlist = listClass.Where(l => !listString.Contains(l.ObjectName)).ToList();

    }
}

class List1Class { public string ObjectName { get; class List1Class {public string ObjectName {get; set; 组; } }

    //Add other property
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM