如何从另一个列表中删除列表中的字符串?

Joh*_*uda 6 c# string list duplicates removeall

我有2个列表,其名称是listA和listB.

我想删除listA中listB中的字符串,但我想以这种方式执行此操作:

如果listA包含:"bar","bar","bar","foo"和listB包含:"bar"

它只删除1 bar,结果将是:"bar","bar","foo"

我写的代码删除所有"栏":

List<string> result = listA.Except(listB).ToList();
Run Code Online (Sandbox Code Playgroud)

Ian*_*Ian 5

您可以尝试逐个删除它:

foreach (var word in listB)
    listA.Remove(word);
Run Code Online (Sandbox Code Playgroud)

Remove方法一次只删除一个元素,并且在找不到该项时不会抛出异常(但返回false):https://msdn.microsoft.com/en-us/library/cd666k3e(v = vs. 110)的.aspx