为什么C#的十进制数不能在没有"M"后缀的情况下进行初始化?
- 论坛
- 为什么C#的十进制数不能在没有"M"后缀的情况下进行初始化?
10 浏览
为什么C#的十进制数不能在没有"M"后缀的情况下进行初始化?
代码
public class MyClass { public const Decimal CONSTANT = 0.50; // 错误 CS0664 }
产生了这个错误:
错误 CS0664:不能隐式将类型为 double 的文字转换为类型 'decimal';使用 'M' 后缀创建这种类型的文字
根据文档。但是这个能够正常工作:
public class MyClass { public const Decimal CONSTANT = 50; // 正确 }
为什么他们禁止了第一个呢?对我来说这很奇怪。