我对Linq很新,我在创建Linq等效的以下嵌套for循环时遇到了麻烦:
for(int i = 0; i < toCompare1.Length; i++)
{
bool isUnique = true;
for(int j = 0; j < toCompare2.Length; j++)
{
if(toCompare1[i].Contains(toCompare2[j]))
{
isUnique = false;
break;
}
}
if(isUnique == true)
{
uniqueValues.Add(toCompare1[i]);
}
}
目前,我的草案代码是这样的:
var unique =
from c1 in toCompare1
from c2 in toCompare2
where !c1.Contains(c2)
select c1;
但它复制了我想要的条目。
任何人都可以帮我吗?
谢谢!
答案 0 :(得分:2)
用流利的语法:
toCompare1.Where(item => !toCompare2.Any(item2 => item.Contains(item2)))
在查询语法中:
from item1 in toCompare1
where !toCompare2.Any(item2 => item1.Contains(item2))
select item1;