generic List holding reference type problem

Currently I have a List holding object reference type as below:

List listA;

Then I also have another class which holds TeamEntry value such as

Class Player : mono
{
public TeamEntry objA;
}

Then I set my Player.objA to listA[0];

Later on, I set my ListA[0] to another value, and set my ListA[1] to the original value of ListA[0].
ListA[0] = newValue; ListA[1] = oldValue;

now Player.objA also automatically = newValue

I want my objA value equal to ListA[1], yet it still holds reference as same with ListA[0],

anyway to solve this problem…

TeamEntry can’t be modified to struct, must be hold as class

do you do it in Update() by chance? i would guess it’s called twice somehow.