-2
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 would like to suggest improvement.
I see no need to "dry" the code, the same is with the correct syntax. What is the need that you are having?
– Jorge.M
Do you have more code inside the foreach? This is relevant (not the code itself, but the information) because you may want to use a
continueto decrease the level of indentation.– Jéf Bueno
Although the code works, from the comments in the answers it is clear that the necessary rules have not been defined, so I closed. Can be edited to put the missing parameters and reopened.
– Bacco