コード例 #1
0
 public static Optional <U> Map <T, U>(this Optional <T> optional, Func <T, U> mapper)
 {
     return(optional.FlatMap(t => Optional.Some(mapper(t))));
 }
コード例 #2
0
 public static Optional <T> Filter <T>(this Optional <T> optional, Predicate <T> filter)
 {
     return(optional.FlatMap(t => filter(t) ? Optional.Some(t) : Optional.None <T>()));
 }
コード例 #3
0
 public static Optional <U> FlatMap <T, U>(this Optional <T> optional, Func <T, Optional <U> > mapper)
 {
     return(optional.HasValue ? mapper(optional.Value) : Optional.None <U>());
 }