OptTMatch Method

Overload List

MatchTOut(FuncT, TOut, TOut) Maps into whenSome(Unwrap()) whenever IsSome; and into whenNone otherwise.
C#
Opt<User> user = GetOptionalUser(..);
string greeting = user.Match(u => $"Welcome back {u.Name}", "Hello");
greeting = user.Match(whenSome: u => $"Welcome back {u.Name}", whenNone: "Hello");
MatchTOut(FuncT, TOut, FuncTOut) Maps into whenSome(Unwrap()) whenever IsSome; and into lazy whenNone() otherwise. Similar to MatchTOut(FuncT, TOut, TOut) except that None variant is evaluated only when IsNone.
C#
// assuming QueryAnonymousGreeting() is expensive.
Opt<User> user = GetOptionalUser(..);
string greeting = user.Match(u => $"Welcome back {u.Name}", () => QueryAnonymousGreeting());

See Also