【问题标题】:LINQ - Compare List objects and List of stringsLINQ - 比较列表对象和字符串列表
【发布时间】:2017-02-09 07:41:10
【问题描述】:

我有一个对象列表 (List1) 和字符串列表 (List2 - 对象名称列表)

如果 List2 中不存在 object.Name,我需要从 List1 中获取所有对象

这个LINQC#怎么写?

【问题讨论】:

标签: c# .net linq list


【解决方案1】:
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();

或者:

var result = List1.Where(x=>!List2.Any(n=>n==x.Name)).ToList();

【讨论】:

    【解决方案2】:
    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();
    
        }
    }
    

    类 List1Class { 公共字符串 ObjectName { 获取;放; }

        //Add other property
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      相关资源
      最近更新 更多