Mer*_*120 0 c# arrays object instance
基本上,我想创建一个对象,然后将该对象添加到一堆不同的数组中,并确保如果一个数组更改了对象的值,则其他数组中的其他对象不会更改其值。
例如,假设我宣布一把枪,其中50枚子弹以整数形式存储:
Gun tommygun = new Gun(50);
Run Code Online (Sandbox Code Playgroud)
我有两名士兵,每个士兵都有枪支清单,并在每个士兵中都添加了一个“地雷枪”。
Soldier1.Guns.Add(tommygun);
Soldier2.Guns.Add(tommygun);
Run Code Online (Sandbox Code Playgroud)
士兵1开枪:
Soldier1.Shoot(Soldier1.Guns[0]);
Run Code Online (Sandbox Code Playgroud)
这会使Soldier1的弹药减少1。现在是49。这是否还会减少Soldier2的弹药?如果是这样,我如何避免在不为每位士兵创建单独的弹药的情况下避免这种情况?