Linq语法
有一个标签表:数据包含tagName狗,狗,猫
1 string[] test1 = new[] { "dogs", "dog" };
将test1与标记表进行比较,并返回不在test1结果中的标记列表:cat
var item1= Tags.Where(x => !test1.Contains(x.TagName)).ToList();
结果“猫”正确
string[] test2 = new[] { "dogs", "dog", "cat", "bird" };
如何将test2与tag表进行比较并返回test2中找到的新项目结果应为bird。
var item2= test2.Where(x => !Tags.Contains(test2)).ToList(); XX fails here?
谢谢,
答案 0 :(得分:1)
使用Except:
//Datasource
string[] Tags = { "dogs", "dog", "cat" };
string[] test2 = new[] { "dogs", "dog", "cat", "bird" };
var result = test2.Except(Tags);
如果您对使用Contains真的感兴趣,那么您可以这样做: -
var result = test2.Where(x => !Tags.Contains(x));
答案 1 :(得分:0)
您可以使用Any()
:
var item2= test2.Where(x => Tags.Any(t=> !t.Contains(x))).ToList();