Хм ... Не очень понятно из вашего примера, но позвольте мне угадать, в чем проблема.
Когда вы добавляете класс в список, вы можете добавлять ссылку.
При использовании:
State x = new State();
State b = x;
поля «x» и «b» указывают на один и тот же объект, xi и bi - это одна и та же память.
IF и если State является структурой, то она отличается
public **struct** State
{
public int i;
public State(int newI)
{
i = newI;
}
}
Тогда
State x = new State();
State b = x;
сделает копию каждого поля значения (например, целых и двойных), и xi будетв другом месте памяти, чем bi
Это связано с вашей проблемой?