예제 #1
0
 public static ISequence <TResult> CreateSingleResultOperator <TSource, TResult>(
     ISequence <TSource> source,
     Func <IIterator <TSource>, CancellationToken, Task <TResult> > evaluate
     )
 {
     return(Create(context => Iterator.CreateSingleResultOperator <TSource, TResult>(source.Start(context), evaluate)));
 }
예제 #2
0
 public static ISequence <T> FirstOrDefault <T>(this ISequence <T> source)
 {
     return(Sequence.Create(context => Iterator.CreateSingleResultOperator <T, T>(source.Start(context), async(iter, cancel) =>
                                                                                  await iter.MoveNext(cancel).ConfigureAwait(false) ? iter.Current : default(T)
                                                                                  )));
 }