此表达式应为“unit”类型,但类型为“ConsoleKeyInfo”

时间:2008-11-28 01:59:11

标签: f# functional-programming unit-type

我只想暂停在F#控制台应用程序中,所以我写道:

Console.ReadKey()

但是这会发出警告:This expression should have type 'unit', but has type 'ConsoleKeyInfo'.

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:62)

解决方案:

Console.ReadKey() |> ignore

说明:Console.ReadKey()返回“ConsoleKeyInfo”类型的对象,但您将其用作语句而不将返回值赋给任何内容。所以F#警告你,你忽略了一个价值。 ignore采用任何类型并且不返回任何内容。它可以这样定义:

let ignore _ = ()