コード例 #1
0
 public static MaybeTC <T> First <T>(this FuncyListTC <T> source)
 {
     if (source.IsNil)
     {
         return(MaybeTC.None <T>());
     }
     else
     {
         return(MaybeTC.Some(source.ToCons().Head));
     }
 }
コード例 #2
0
 public static MaybeTC <T> Last <T>(this FuncyListTC <T> source)
 {
     if (source.IsNil)
     {
         return(MaybeTC.None <T>());
     }
     else
     {
         return(MaybeTC.Some(((IEnumerable <T>)source).Last()));
     }
 }
コード例 #3
0
        public static MaybeTC <T> ElementAt <T>(this FuncyListTC <T> source, int index)
        {
            if (source.IsNil)
            {
                return(MaybeTC.None <T>());
            }

            if (index < 0)
            {
                return(MaybeTC.None <T>());
            }

            if (index >= source.Count())
            {
                return(MaybeTC.None <T>());
            }

            return(MaybeTC.Some(((IEnumerable <T>)source).ElementAt(index)));
        }