在比较两个List<T>对象时,我无法保留重复项.目标是将重复项添加到第三个列表中,然后调用它list3.
list1 有大约5项,而list2有10项.
list3 应包含以下内容: 00T51234, 00T54567, 00T57894
List<string> list1 = new List<string>(){"00T51234", "00T54567", "00T57894",
"00T55263", "00T58965"};
List<string> list2 = new List<string>(){"00T59633", "00T52222", "00T57894",
"00T52322", "00T51234", "00T54567", "00T57894", "00T57897",
"00T55556", "00T59563"};
List<string> list3 = new List<string>();
Run Code Online (Sandbox Code Playgroud)
我试图使用Ani的解决方案,如下所示:
var lookup2 = list2.ToLookup(str => str);
var result = from str in list1
group str by str into strGroup
let missingCount
= Math.Max(0, strGroup.Count() - lookup2[strGroup.Key].Count())
from missingStr in strGroup.Take(missingCount)
select missingStr;
Run Code Online (Sandbox Code Playgroud)
然而,这个解决方案并没有给我我正在寻找的结果.任何帮助将不胜感激.谢谢!
Sac*_*hin 23
List<string> duplicates = list1.Intersect(list2).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7511 次 |
| 最近记录: |