2017-02-09 88 views
2

我有對象(List1)的列表和字符串列表對象的列表和目錄(List2 - 對象名單)LINQ - 比較字符串

我需要從列表1,如果對象獲取的所有對象。名稱不存在於列表2

怎麼可以這樣寫LINQ C#?

回答

5
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(); 
0
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 { 公共字符串對象名{獲得;組; }

//Add other property 
}