При назначении одного поля другому, C# просто копирует данные или фактически создает ссылку? В статье this есть пример структуры игрового движка. В кодере есть компоненты, содержащие их родителя. В C# они просто содержат родительскую копию, или они ссылаются на нее?Позволяет ли C# копировать данные поля при назначении другому полю или относится к данным?
Пример кода:
class World
{
...
public void Update()
{
...
ent.OnAttach(this);
...
}
...
}
class Entity
{
...
public void OnAttach(World world)
{
world_ = world;
}
...
}
Может объект Entity теперь получить доступ к World объекта и иметь доступ к его полям и методам, как в artice? (или я неправильно понял код?)
Громкий и понятный, красиво объясненный Я получил его при первом легком взгляде! +1, принятый ответ! – Johnny
Другое дело, ссылочный тип все еще работает так же, если он был назначен списку? Другими словами, изменение объекта Entity повлияет на его часть в списке после добавления его со списком .Add()? –
Johnny
Нет, это все равно будет одним и тем же экземпляром объекта. Объект даже не «знает», что он был добавлен в список. – Eilon