在C#中添加可为空的小数

akr*_*bet 2 c# nullable

让我重新拟定.我在ForEach循环里面应该添加计算小数?值到小数?当你指出时,originalAmount当然是第一次为null.所以我只需先检查null,否则再添加.

decimal? convertedAmount = Calculate(inputValue); //always returns a value

originalAmount = originalAmount==null ? convertedAmount : originalAmount + convertedAmount;
Run Code Online (Sandbox Code Playgroud)

原始安装在循环之外定义.

很抱歉混淆,如有必要,可以关闭/删除问题.

Mar*_*ell 6

(来自评论)

我只希望originalAmount有一个值,如果convertedAmount有,否则它应该为null.

所以:

decimal? convertedAmount = ...

decimal? originalAmount = convertedAmount;
Run Code Online (Sandbox Code Playgroud)

它完成了该要求中的所有事情.

可能会更冗长,但这没有任何意义:

// unnecessary: don't do this:
decimal? originalAmount =
    convertedAmount.HasValue ? convertedAmount.Value : (decimal?)null;
Run Code Online (Sandbox Code Playgroud)