По сути, я хочу создать один объект, а затем добавить этот объект в группу различных массивов и быть уверенным, что если один массив изменит значения объекта, другие объекты в других массивах не изменят свои значения.
Например, скажем, я объявляю пистолет с 50 пулями, хранящимися в целом числе:
Gun tommygun = new Gun(50);
У меня есть два солдата, каждый со списком пистолетов, и добавляю к каждому пистолет.
Soldier1.Guns.Add(tommygun);
Soldier2.Guns.Add(tommygun);
Солдат 1 стреляет из своего оружия:
Soldier1.Shoot(Soldier1.Guns[0]);
Это уменьшает патрон Солдата1 на 1. Теперь это будет 49. Уменьшает ли это также патрон Солдата2 для оружия?Если да, то как мне избежать этого, не создав отдельного томмигана для каждого солдата?