假设一个C#程序具有两个可以为零的十进制属性A和B.以下加法仅返回A的值:var result = A ?? 0 + B ?? 0; 正确的用法是:var result =(A ?? 0)+(B ?? 0);
示例控制台程序:
class Program
{
static void Main(string[] args)
{
A = (decimal)0.11;
B = (decimal)0.69;
NullableDecimalAddition();
Console.ReadLine();
}
public static decimal? A { get; set; }
public static decimal? B { get; set; }
private static void NullableDecimalAddition()
{
decimal result1 = A ?? 0 + B ?? 0;
decimal result2 = (A ?? 0) + (B ?? 0);
Console.WriteLine("result1: " + result1); …Run Code Online (Sandbox Code Playgroud)