这是我想要实现的:
public static void foo()
{
// Local function
int? parseAppliedAmountTernary( decimal? d ) {
d.HasValue ? return Convert.ToInt32( Math.Round(d.Value, 0) ) : return null;
}
// The rest of foo...
}
但是,我收到编译错误。这种语法甚至可能吗?我正在使用 Visual Studio 2019、.NET Framework 4,它(当前)等同于 C# 7.3。
注意 - 我只是想弄清楚语法......关于代码的“可读性”或其他美学的任何哲学讨论虽然很有趣,但都是无关紧要的。:)
代码示例(使用 Roslyn 4.0) https://dotnetfiddle.net/TlDY9c