컬렉션의 항목을 반복하는 foreach 루프가 있습니다. 해당 항목이 이미 존재하는 경우 요소의 속성을 다시 사용할 수 있습니까? 예 :컬렉션의 항목 재사용
foreach(example item in creditItems)
{
item.Total += item.Quantity;
}
creditItems
에는 3 개의 항목이 있다고 가정 해 봅시다. 첫 번째 항목과 세 번째 항목은 동일하며, 최소한 있어야합니다. 문제는 완전히 다른 항목으로 간주된다는 것입니다. 이 문제는 마지막 항목까지 반복 할 때 item.Quantity
은 원래 item.Total
에 추가되지 않으므로 새 항목으로 간주되기 때문에 합계는 0 + item.Quantity
입니다. 내 논리가 방금 꺼 졌나요?
나는 이것이 가능하다고 생각하지 않을 것입니다. 아마도 합계 또는 linq 문을 수행하는 별도의 변수를 사용하는 것입니다. – webdad3
* item.Quantity는 원래 항목에 추가하지 않습니다. 왜냐하면 새 항목으로 간주되기 때문입니다 - * 그러면 * 새로운 * 즉, 다른 개체입니다. 귀하의 요구 사항 인 경우 각 항목이 논리적으로 고유하다는 전제를 확보해야합니다. 그렇지 않으면 어디서나 특별한 경우를 추가하게되고 코드가 엉망이됩니다. invariants를 최대한 빨리 적용하십시오. –