Тип UnitUnit Type

unit Тип является типом, указывает на отсутствие конкретного значения; unit тип имеет только одно значение, который выступает в качестве заполнителя, если никакое другое значение не существует, или требуется.The unit type is a type that indicates the absence of a specific value; the unit type has only a single value, which acts as a placeholder when no other value exists or is needed.

СинтаксисSyntax

// The value of the unit type.
()

ПримечанияRemarks

Каждый F # выражение должно иметь значение.Every F# expression must evaluate to a value. Для выражений, не создающих значение, которое представляет интерес, значение типа unit используется.For expressions that do not generate a value that is of interest, the value of type unit is used. unit Тип напоминает void типа в языках, таких как C# и C++.The unit type resembles the void type in languages such as C# and C++.

unit Тип имеет одно значение, и это значение обозначается токеном ().The unit type has a single value, and that value is indicated by the token ().

Значение unit типа часто используется в F #, отмечающая, где требуется значение с помощью синтаксиса языка, но в том случае, когда значение не требуется или требуемого программирования.The value of the unit type is often used in F# programming to hold the place where a value is required by the language syntax, but when no value is needed or desired. Примером может служить возвращаемое значение printf функции.An example might be the return value of a printf function. Поскольку важные действия printf выполнение операции в функции, функции не обязательно возвращать фактическое значение.Because the important actions of the printf operation occur in the function, the function does not have to return an actual value. Таким образом, возвращаемое значение имеет тип unit.Therefore, the return value is of type unit.

Некоторые конструкции ожидают unit значение.Some constructs expect a unit value. Например do привязки или код на верхнем уровне модуля является ожидаемым результатом вычисления unit значение.For example, a do binding or any code at the top level of a module is expected to evaluate to a unit value. Компилятор создает предупреждение при do привязки или код на верхнем уровне модуля дает результат, отличный от unit значение, которое не используется, как показано в следующем примере.The compiler reports a warning when a do binding or code at the top level of a module produces a result other than the unit value that is not used, as shown in the following example.

let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore

Это предупреждение — это характеристика, функционального программирования; он не отображается в других языках программирования .NET.This warning is a characteristic of functional programming; it does not appear in other .NET programming languages. В классическом функциональном программировании, где функции не имеют никаких побочных эффектов, конечное возвращаемое значение является единственным результатом вызова функции.In a purely functional program, in which functions do not have any side effects, the final return value is the only result of a function call. Таким образом Если результат учитывается, он является возможной ошибки программирования.Therefore, when the result is ignored, it is a possible programming error. Хотя F # не является чисто функциональным языком программирования, рекомендуется выполнить в стиле функционального программирования по возможности.Although F# is not a purely functional programming language, it is a good practice to follow functional programming style whenever possible.

См. такжеSee Also

ПримитивPrimitive

Справочник по языку F#F# Language Reference