StopWatch导致属性值出错

时间:2015-03-08 13:22:58

标签: c# multithreading

我有一个Projectile类,我有一些字段,如initialVelocity,currentVelocity等等(Velocity和Acceleration组成 - 它们本身是具有双数据类型的X和Y组件的类)

我遇到一个非常奇怪的错误,只要Stop Watch正在运行,我就会得到 InitialVelocity 的正确值,但是一旦StopWatch停止,它会给我一个错误的值 InitialVelocity < / em>的。

请记住,我没有创建任何 initialVelocity 的setter,一旦我在构造函数中为其分配了velocity的起始值,它的值都没有在类中更改。我一次又一次地检查过,并没有一行覆盖 initialVelocity 的值,为什么会这样呢?

1 个答案:

答案 0 :(得分:1)

您当前的速度和初始速度是同一个对象。当你改变一个你改变另一个。

在构造函数中,您必须为两个属性创建两个不同的力度实例