我在检查一个对象是否已经在我的列表中,这个对象有一个带有值的属性。如果对象已经在列表中,我想返回对象并将这些值相加,然后将其放回列表中。如何获取对象,如果它已经在列表中?
这里是我的代码:
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