我有一个方法,它根据可以容纳的设备数量为我提供所需的盒子数量。目前我已经使用递归实现了这个逻辑
private uint PerformRecursiveDivision(uint m_oTotalDevices,uint m_oDevicesPerBox, ref uint BoxesRequired)
{
if (m_oTotalDevices< m_oDevicesPerBox)
{
BoxesRequired = 1;
}
else if ((m_oTotalDevices- m_oDevicesPerBox>= 0) && (m_oTotalDevices- m_oDevicesPerBox) < m_oDevicesPerBox)
{
//Terminating condition
BoxesRequired++;
return BoxesRequired;
}
else
{
//Call recursive function
BoxesRequired++;
return PerformRecursiveDivision((m_oTotalDevices- m_oDevicesPerBox), m_oDevicesPerBox, ref BoxesRequired);
}
return BoxesRequired;
}
有没有更好的方法来实现相同的逻辑而不使用递归。因为在设备数量超过 50000 的情况下,这种方法使我的应用程序非常慢。