Это выражение должно иметь тип «единица», но имеет тип «ConsoleKeyInfo».
-
11-07-2019 - |
Вопрос
Я просто хотел приостановить консольное приложение F#, поэтому написал:
Консоль.ReadKey()
Но это дает предупреждение: This expression should have type 'unit', but has type 'ConsoleKeyInfo'.
Что я могу сделать, чтобы это исправить?
Решение
Решение:
Console.ReadKey() |> ignore
Объяснение: Console.ReadKey()
возвращает объект типа «ConsoleKeyInfo», но вы используете его как оператор, не присваивая возвращаемое значение чему-либо.Итак, F# предупреждает вас, что вы игнорируете значение. ignore
принимает любой тип и ничего не возвращает.Это можно было бы определить так:
let ignore _ = ()
Не связан с StackOverflow