如何检查值的变化是否越过另一个值

时间:2017-06-03 15:39:54

标签: c# physics calculation variation

我正在Unity制作一个简单的Calorimetry应用程序来测试我在课堂上学到的东西。在计算热量时,您需要猜测温度的变化(如最终温度减去初始温度)是否实际超过材料熔点或沸点。

例如,假设我有一个物体,我将它从-15°C加热到30°C,它的融合点是10°C,这意味着物体会改变相位,因此需要进行不同的计算。 / p>

-15℃---------- 10℃--------- 30°C

我显然可以知道它改变了阶段,但有没有办法让程序检查值是否大于或小于既定的融合点,然后选择合适的计算?

PS:我的温度值存储在名为iTempfTemp的变量中,而融合点和沸点存储在名为objMat的单独结构中,并且是名为{的变量分别为{1}}和fusPoint

1 个答案:

答案 0 :(得分:0)

目前尚不清楚你在问什么。也许你可以使Temperature成为一个属性,并检查融合点是否已在setter中交叉。

class Temp
{
    private readonly decimal _fusion;
    private decimal _temp;

    public decimal Temperature
    {
        get { return _temp; }
        set
        {
            if ((_temp < _fusion && value > _fusion) || (_temp > _fusion && value < _fusion))
            {
                // do stuff
            }
            _temp = value;
        }
    }

    public Temp(decimal fusion, decimal initial)
    {
        _fusion = fusion;
        _temp = initial;
    }
}