我遇到了一些foreach
循环问题List<T>
foreach (DefenceTerminal defence in DefenceManager.defenceCollection)
{
defence.ReadNetworkPacket(packetReader);
//this is a very simple function that just sets defence.damage = to whatever
//it properly sends the value and sets it
//defence.damage is a int
}
当我离开循环时,价值......消失了。(它无法改变)
离开循环后,所有值都保持不变
在更新中以类似的方式访问该列表。
我也使用for
循环作为替代方案,所以我想这比List<T>
其他任何问题都更重要。
但是,我更愿意继续使用列表。建议?
对于那些想要非常简单的功能的人来说,这是非常简单的功能
public void ReadNetworkPacket(PacketReader packetReader)
{
damage = packetReader.ReadInt32();
}
IT 工作,列表和循环没有。
再次:虽然在循环中一切正常,我已经检查了多次,但它并没有......坚持......就像它制作了自己的小个人列表来搞乱然后在完成后将其丢弃,这在您尝试更新列表。我敢肯定,这是一个与 List 有关的奇怪特质。
其他废话:
public static List<DefenceTerminal> defenceCollection = new List<DefenceTerminal>();
for (int i = 0; i < factionCount; i++)
{
DefenceTerminal d = new DefenceTerminal();
for (int j = 0; j < defenceLimit; j++)
{
defenceCollection.Add(d);
}
}