注意所有列表/ LINQ爱好者,我对你有一个小小的挑战。根据另一个列表中的项目设置列表中的项目的属性
我有两个列表:
List<ObjectInfo> firstListObject;
List<ObjectInfo> secondListObject;
第一个列表是,我用它来管理数据的列表。随着过程的继续,我使用第二个列表添加项目。所以,不时,我会在我的列表中添加/删除项目。
我有这些领域:
public int m_ObjectID { get;set; }
public bool m_IsSelected { get;set; }
而且我的意图是,每次我“更新”我secondListObject
,我需要通过所有的firstListObject
滚动设置m_IsSelected
值设置为true。 ELSE该值必须是false
,这意味着如果一个物品第一次出现在列表中,那么之后将被删除,该物品的m_IsSelected
将变为false。
任何人都可以帮我吗?谢谢!
编辑
这是我迄今所做的:
foreach (var singleOrDefault in secondListObject
.Select(objectInfo => firstListObject
.SingleOrDefault(_item => _item.m_ObjectID == inventoryInfo.m_ObjectID))
.Where(singleOrDefault => singleOrDefault != null))
{
singleOrDefault
.m_IsSelected = true;
}
那么,从某种意义上说,这个工程。它将我正在查找的项目设置为true。默认情况下,所有m_IsSelected
值都是错误的。
但是,如果我删除该项目,m_IsSelected
仍然是真实的,这就是我需要做的。
所以,在一个句子中:我需要在firstListObject
中做一个循环,并检查secondListObject
的每个项目是否有“发生”(基于ID)。如果这是真的,我会将m_IsSelected
切换为真。我只是需要确保否则m_IsSelected
是假的,我不知道该怎么办......
你到目前为止试过了什么?你试图解决这个问题时遇到了什么问题? – Servy
再一次,你的问题不清楚。这些属性是ObjectInfo类的成员,还是他们在其他地方?你能用步骤(1 ... 2 ... 3 ...)表达你的想法吗? –
是的,我很难想象这个问题。 – sircodesalot