[英]cast literal to byte in F#
这是我的代码片段:
let targetMeasure (usesPercent:Nullable<byte>) value =
match usesPercent.Value with
| 0 -> sprintf "$%A" value
| _ -> sprintf "%A%%" value
尝试将“ usesPercent”与0匹配,但是0必须是一个字节。 这总是使我在F#中感到困惑。 我跳过了可为空的东西,但是值不是同一类型。 我该如何解决?
您可以通过写入0uy
来创建字节文字。 如果编写了一些无效的数字文字(例如0z
),则F#Interactive将打印出一个(完整的)数字文字列表。 然后您得到:
样本格式包括4,0x4,0b0100,4L,4UL,4u,4s,4us,4y,4uy,4.0,4.0f,4I。
对于整数,解码u
代表无符号, y
, s
((无))非常容易, L
代表8位,16位,32位和64位。
let targetMeasure (usesPercent:Nullable<byte>) value =
match usesPercent.Value with
| 0uy -> sprintf "$%A" value
| _ -> sprintf "%A%%" value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.