【发布时间】:2018-03-27 04:00:57
【问题描述】:
有没有其他方法可以从列表中删除对象 而不是我对 foreach 所做的;
我的意思是我不认为我做的方式是最好的方式和优化方式
像这样:
var allobj= .. //this a list of all object
var myobj= .. //this a list of my selected object
foreach (var inu in myobj.ToArray())
{
if (allobj.Where(p => p.UserName == inu.UserName).Count() != 0)
{
myobj.Remove(inu);
}
}
【问题讨论】:
-
将属性添加到所有对象
IsSelected,然后如果属性为true,则删除对象,或者使用选定对象的名称创建一个hashSet并检查对象的名称是否在hashset中。 -
条件是用户名
-
条件在哪个属性上并不重要。在您的代码中,当您将对象添加到
myobj时,您可以将其设置为IsSelected为true,然后稍后将其删除。 -
所有对象列表中是否存在选定对象? (有相同的参考)
-
对象来自instagram
标签: c# .net arrays list foreach