我如何使用" NOT IN"获取缺失的数据,添加到" foo"列表。
var accessories = new List<string>();
var foo = new List<string>();
accessories.Add("Engine");
accessories.Add("Tranny");
accessories.Add("Drivetrain");
accessories.Add("Power Window");
foo.Add("Engine");
foo.Add("Tranny");
foo.Add("Power Window");
foreach(var v in foo.Where(x => x??).???)
{
foo.Add(v); //Add the missing "Drivetrain" to it...
}
答案 0 :(得分:3)
您可以use .Except()
来区分两组:
var difference = accessories.Except(foo);
// difference is now a collection containing elements in accessories that are not in foo
如果您想将这些项目添加到foo
:
foo = foo.Concat(difference).ToList();
答案 1 :(得分:2)
答案 2 :(得分:1)
有一个LINQ方法为你做这个,它看起来像这样; uint32_t
答案 3 :(得分:1)
您可以合并<key>UIAppFonts</key>
<array>
<string>SomeFont.otf</string>
<string>SomeOtherFont.otf</string>
</array>
和Concat
来执行此操作:
Distinct
编辑:或foo = foo.Concat(accessories).Distinct().ToList();
正如其他人所指出的那样,这似乎是这种情况的最佳选择。
答案 4 :(得分:0)
如果你只是想让foo成为foo和附件中所有元素的独特组合(即两个列表的结合),
List<string> foo = foo.Union(accessories).ToList();