是否有必要为M
变量的分配和比较添加decimal
零值?
decimal val;
...
if (val == 0M)
{
}
或
if (val == 0)
{
}
我想常量将在编译时转换,结果将是相同的。
答案 0 :(得分:5)
没有必要。整数类型为casted implicitly到decimal
。如果文字表示浮点数,则必须添加M
后缀。没有类型后缀的浮点文字是double
,那些需要显式转换为decimal
。
decimal d = 1; // works
decimal d2 = 1.0 // does not work
decimal d3 = 1.0M // works
这里的文字0
显然是整数文字的一个特例。