I have the following code:
foreach (var lote in collection.ToList())
{
count++;
ushort[] dadosBalanca = new ushort[9];
if (lote.AlvoPasso > ushort.MaxValue)
{
var subtracao = (lote.AlvoPasso - 65536);
dadosBalanca[3] = 1;
if (lote.AlvoPasso > (ushort.MaxValue * 2))
{
subtracao -= 65536;
dadosBalanca[3] = 2; //[OUT37]
if (lote.AlvoPasso > (ushort.MaxValue * 3))
{
subtracao -= 65536;
dadosBalanca[3] = 3; //[OUT37]
if (lote.AlvoPasso > (ushort.MaxValue * 4))
{
subtracao -= 65536;
dadosBalanca[3] = 4; //[OUT37]
}
}
}
dadosBalanca[4] = (ushort)subtracao; //[OUT38]
}
else
{
dadosBalanca[3] = 0; //[OUT37]
dadosBalanca[4] = (ushort)lote.AlvoPasso; //[OUT38]
}
//...
}
This code already works, I'd like to suggest improvement.