[英]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.