Это выражение должно иметь тип «единица», но имеет тип «ConsoleKeyInfo».

StackOverflow https://stackoverflow.com/questions/324947

Вопрос

Я просто хотел приостановить консольное приложение F#, поэтому написал:

Консоль.ReadKey()

Но это дает предупреждение: This expression should have type 'unit', but has type 'ConsoleKeyInfo'.

Что я могу сделать, чтобы это исправить?

Это было полезно?

Решение

Решение:

Console.ReadKey() |> ignore

Объяснение: Console.ReadKey() возвращает объект типа «ConsoleKeyInfo», но вы используете его как оператор, не присваивая возвращаемое значение чему-либо.Итак, F# предупреждает вас, что вы игнорируете значение. ignore принимает любой тип и ничего не возвращает.Это можно было бы определить так:

let ignore _ = ()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top