注意所有列表/ 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