我有以下代码:
decimal? Price = 36;
decimal? ExchangeRate = 4.4m;
decimal result = Price ?? 0 / ((ExchangeRate == 0) ? 1 : (ExchangeRate ?? 1));
Console.WriteLine(result);
//result = 36
decimal cleanExchangeRate = ((ExchangeRate == 0) ? 1 : (ExchangeRate ?? 1));
decimal cleanPrice = Price ?? 0;
decimal result2 = cleanPrice / cleanExchangeRate;
Console.WriteLine(result2);
//result2 = 8.18
Run Code Online (Sandbox Code Playgroud)
第一次和第二次计算有什么区别?如果我把它作为单线来做,它不知何故不会划分价格。
c# ×1