我在檢查一個對象是否已經在我的列表中,這個對象有一個帶有值的屬性。如果對象已經在列表中,我想返回對象並將這些值相加,然後將其放回列表中。如何獲取對象,如果它已經在列表中?
這裏是我的代碼:
if (!uniqueList.Contains(element))
{
uniqueList.Add(element);
}
else
{
elementOld = uniqueList ??
elementOld.value += element.value;
uniqueList.add(elementOld);
}
我只需要兩個幫助?在代碼中。
元素的類型是什麼?你可以發佈它的類定義嗎?請添加所有的細節。 – Vinod
實際上,如果'element'是一個對象,並且'uniqueList.Contains(element)'爲true,那麼'element'已經與列表中的對象相同,不需要獲取它。但是如果你需要的僅僅是查找該對象的特定屬性,那麼'Contains'不適合你,你應該像'uniqueList.FirstOrDefault(x => x.Property == element.Property)然後將結果與'null'進行比較。無論如何,你想做什麼?從你的代碼看來,你想增加元素的值,然後再將它添加到列表**。 – Andrew
「value」是定義元素是否已經在列表中或另一個元素中的屬性?如果'elementOld'是列表中現有的'element',那麼你所做的和'elementOld.value * = 2'相同。 – Andrew