class Program
{
static void Main(string[] args)
{
bool success = true;
int[] array = { 10, 15, 20 };
foreach (var i in array)
success = success && SynchronizeAccount(i);
}
static bool SynchronizeAccount(int i)
{
Console.WriteLine(i);
return false;
}
}
輸出爲10.第一步'success'變成false並且從不會爲true,因此c#在第一次迭代後停止循環執行。但是我需要SynchronizeAccount的SIDE效果,而不是'成功'值。布爾AND不評估表達式的兩邊
您的邏輯中比編譯器中的錯誤更可能存在缺陷。 –
@GrantWinney不,它絕對是編譯器中的一個bug;) – MichaC
所以你真的認爲你在編譯器中發現了一個bug,呵呵?在沒有購買財富的情況下贏得100萬美元的彩票更有可能。 –