F # ConsoleKeyInfo несоответствие типов - PullRequest
0 голосов
/ 04 декабря 2018

В моей программе есть оператор 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'

Как это исправить?

1 Ответ

0 голосов
/ 04 декабря 2018

Ваше выражение ожидает int как последнее значение.Если System.Console.ReadKey () |> ignore - последняя строка в вашей функции, то она возвращает единицу измерения.Я подозреваю, что ответ, который вы хотите вернуть, находится на предыдущей строке.Используйте «let» для захвата этого значения, выполните ReadKey () в следующей строке, затем поместите значение let в последнюю строку, чтобы вернуть его.Например:

let foo : int= 
    let sum = 1 + 1
    System.Console.ReadKey() |> ignore
    sum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...