我有一個四個數字的數組,我需要將它與另一個數字數組進行比較。我應該告訴這些數字中有多少是正確的,有多少是正確的數字,但不是正確的。一種縮短if語句的方法
F.eks:
Code: 1501
Guess: 1305
Right numbers: 3
Right placement: 2
正確的位置很容易。但是正確的數字部分有點棘手。這就是我解決它的方法:
//Check if number exist in context
Rn = 0;
for (int g = 0; g < 4; g++)
{
resent[g] = 6;
}
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
if
(
guess[i] == Numbers[j]
&& guess[i] != resent[0]
&& guess[i] != resent[1]
&& guess[i] != resent[2]
&& guess[i] != resent[3]
)
{
Rn++;
resent[i] = guess[i];
}
}
}
ConsolePost("Right Numbers: " + Rn);
有沒有一種方法可以做到這一點。或者是否有可能縮短這個?
像:
if(guess[i] == Numbers[j] && != resent[0-3])
{
Something;
}
這應該是對代碼評審:http://codereview.stackexchange.com/ – 2014-08-28 15:20:42
'猜[I] ==編號[j]的&& resent.Take(4)。所有(R => R != guess [i])'如果'resent' ***的長度是*** 4,那麼你可以跳過呼叫'.All' – spender 2014-08-28 15:21:34
雖然有很好的想法,但我認爲你會把奧斯卡與所有這些方法混淆。確保他知道這些擴展方法和lambda等等。看看他提供的代碼。對我來說似乎是一個基本的代碼。 – VasileF 2014-08-28 15:24:31