Specifies the type of optional values, which you use when there might or might not be a value.
Namespace/Module Path: Microsoft.FSharp.Core
Assembly: FSharp.Core (in FSharp.Core.dll)
[<DefaultAugmentation(false)>]
[<StructuralEquality>]
[<StructuralComparison>]
type Option<'T> =
| None
| Some of 'T
 with
  interface IStructuralEquatable
  interface IComparable
  interface IComparable
  interface IStructuralComparable
  static member Some : 'T -> 'T option
  member this.IsNone :  bool
  member this.IsSome :  bool
  static member None :  'T option
  member this.Value :  'T
 end
Remarks
Use the constructors Some and None to create values of this type. Use the values in the Option module to manipulate values of this type, or pattern match against the values directly. None values appear as the value null to other .NET Framework languages. Instance methods of this type appear as static methods to other .NET Framework languages because of the use of null as a value representation.
For an overview of options, see Options (F#).
This type is named FSharpOption in compiled assemblies. If you are accessing the type from a language other than F#, or through reflection, use this name.
Instance Members
Member  | 
Description  | 
|---|---|
Returns true if the option is a None value.  | 
|
Returns true if the option is a Some value.  | 
|
Gets the value of a Some option. A NullReferenceException is raised if the option is None.  | 
Static Members
Member  | 
Description  | 
|---|---|
Creates an option value that is a None value.  | 
|
Creates an option value that is a Some value.  | 
Union Cases
Case  | 
Description  | 
|---|---|
None  | 
Specifies that there is no value.  | 
Some of 'T  | 
Contains the value, when there is a value.  | 
Platforms
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Version Information
F# Core Library Versions
Supported in: 2.0, 4.0, Portable