在C#中,我这样做:
public const double PAPER_SIZE_WIDTH = 8.5 * 96;
什么是在F#中定义全局常量的最佳方式?
下面的方法会失败:
[<Literal>]
let PaperSizeWidth = 8.5*96.0
错误:这不是有效的常量表达式
TIA
在C#中,我这样做:
public const double PAPER_SIZE_WIDTH = 8.5 * 96;
什么是在F#中定义全局常量的最佳方式?
下面的方法会失败:
[<Literal>]
let PaperSizeWidth = 8.5*96.0
在F#中,数字字面量还不支持算术运算。相反,您必须显式提供最终值:
[<Literal>]
let PaperSizeWidth = 816.0
然而,在F#中,默认情况下,每个值都是不可变的,因此根据您的需求,这可能已经足够好了:
let PaperSizeWidth = 8.5 * 96.0
public const
是不良实践。您可以预先计算值并编写let PaperSizeWidth = 816
,并留下注释说明如何获得此数字。它将编译为静态只读属性,并在运行时由JIT内联。如果应用了[<Literal>]
,它将编译为public const
,但如上所述-这是不良实践。 - JL0PD