本文介绍了在列表中查找交集并删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我有以下代码,工作正常,但我正在寻找更好的解决方案。
=== =编辑====
列表中的项目是:
NewContainsExistingMemberInDialog:B,C,D,E
DialogAdditionDistinct:A,B,C
最终输出:
IntersectedAndRemovedList是DialogAdditionDistinct。它应该只包含A。
============
列表与LT; INT> ItemsToBeDeletedAtIndex = new List< int>();
int index = -1;
foreach ( string itemCAD in DialogAdditionDistinct)
{
index ++;
foreach (字符串 itemNCEMID in NewContainsExistingMemberInDialog)
{
if (itemNCEMID == itemCAD)
{
ItemsToBeDeletedAtIndex.Add(index);
}
}
}
int indexCounter = 0 跨度>;
foreach ( int itemIndex in ItemsToBeDeletedAtIndex)
{
DialogAdditionDistinct.RemoveAt(itemIndex - indexCounter);
indexCounter ++;
}
此代码的作用是在两个列表之间找到相同的项目并保存项目的索引。之后删除了匹配索引中的项目。
所以基本上是有一个LINQ代码或者这个查找的优化代码版本两个列表之间的交集和删除相交其中一个项目。
非常感谢您的时间和理解。
解决方案
这篇关于在列表中查找交集并删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!