我有6個double值x,y,z,a,b,c。每次他們改變時我都需要最低限度的。比較不包含零的值嗎?
到目前爲止,我使用了Math.Min()
,我通過檢查是否不等於零並使用List.min()
將它們添加到列表中。但每次值改變時,列表都不會自行更新。
該過程正在檢查數千次,我需要一個快速的方法。
- 檢查所有變量。
- 如果其中一個或多個爲0,則不要進行比較。
- 取其他值的最小值。
- 重複,當按鈕按下。
代碼:
private void calculateRatio()
{
xRatio = 100 * (xStepCount/xAbsoluteDelta);
yRatio = 100 * (yStepCount/yAbsoluteDelta);
zRatio = 100 * (zStepCount/zAbsoluteDelta);
aRatio = 100 * (aStepCount/aAbsoluteDelta);
bRatio = 100 * (bStepCount/bAbsoluteDelta);
cRatio = 100 * (cStepCount/cAbsoluteDelta);
}
private void selectAxis()
{
minRatio = 100 * (Math.Min((double)xRatio, Math.Min((double)yRatio, Math.Min((double)zRatio, Math.Min((double)aRatio, Math.Min((double)bRatio, (double)cRatio))))));
}
//without including zero, by updating every time step count changed.
什麼是導致值改變?什麼是監測這種變化?聽起來真正的問題是檢測到這些變化。有些代碼可以幫助這個問題更有意義。 –
另請注意,double值的平等比較可能無法提供期望的結果。 –