Пример #1
0
 public static FSharpOption <T> Where <T>(this FSharpOption <T> option, Func <T, bool> predicate)
 {
     if (option.HasValue() && predicate(option.Value))
     {
         return(option);
     }
     return(FSharpOption <T> .None);
 }
Пример #2
0
 /// <summary>
 /// Converts this <see cref="FSharpOption{T}"/> to <see cref="Nullable{T}"/>
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="value"></param>
 /// <returns></returns>
 public static T?ToNullable <T>(this FSharpOption <T> value) where T : struct
 {
     if (!value.HasValue())
     {
         return(null);
     }
     return(value.Value);
 }
Пример #3
0
 public static FSharpOption <R> Select <T, R>(this FSharpOption <T> option, Func <T, R> selector)
 {
     if (!option.HasValue())
     {
         return(FSharpOption <R> .None);
     }
     return(selector(option.Value).ToOption());
 }
Пример #4
0
 public static Func <FSharpOption <T> > OrElse <T>(this FSharpOption <T> option, Func <FSharpOption <T> > alt)
 {
     return(() => {
         if (option.HasValue())
         {
             return option;
         }
         return alt();
     });
 }