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万美元的彩票更有可能。 –