我的程序中有Console.ReadKey()语句以暂停执行
System.Console.ReadKey() |> ignore
但是VS代码显示了一个错误:
Type mismatch. Expecting a
'ConsoleKeyInfo -> int'
but given a
'ConsoleKeyInfo -> unit'
The type 'int' does not match the type 'unit'
我该如何解决?
答案 0 :(得分:3)
您的表达式期望将int作为最后一个值。如果System.Console.ReadKey()|> ignore是函数的最后一行,则它是返回单元。我怀疑您希望返回的答案在上一行。使用“ let”捕获该值,在下一行执行ReadKey(),然后将let值放在最后一行以返回它。例如:
let foo : int=
let sum = 1 + 1
System.Console.ReadKey() |> ignore
sum