コード例 #1
0
 public KeepOrderedEnumerable(IKeepEnumerable <TSource> source)
 {
     if (source == null)
     {
         throw new ArgumentNullException("source");
     }
     _orders = new List <IOrderedParameters <TSource> >(source.Orders ?? Enumerable.Empty <IOrderedParameters <TSource> >());
 }
コード例 #2
0
 private static IEnumerable <TSource> OrderBy <TSource>(this IEnumerable <TSource> source, IKeepEnumerable <TSource> keep
                                                        , out Func <int[]> keepDenseRank)
 {
     foreach (IOrderedParameters <TSource> parameters in keep.Orders.Reverse())
     {
         source = parameters.Sort(source);
     }
     keepDenseRank = source.GetKeepDenseRank(keep.Orders);
     return(source);
 }
コード例 #3
0
 public static IKeepOrderedEnumerable <TSource> OrderBy <TSource, TKey>(this IKeepEnumerable <TSource> source
                                                                        , Func <TSource, TKey> keySelector)
 {
     return(new KeepOrderedEnumerable <TSource>(source).Add(keySelector));
 }
コード例 #4
0
 public static IKeepOrderedEnumerable <TSource> OrderByDescending <TSource, TKey>(this IKeepEnumerable <TSource> source
                                                                                  , Func <TSource, TKey> keySelector, Func <TKey, TKey, int> comparer)
 {
     return(source.OrderByDescending(keySelector, new LambdaComparer <TKey>(comparer)));
 }
コード例 #5
0
 public static IKeepOrderedEnumerable <TSource> OrderByDescending <TSource, TKey>(this IKeepEnumerable <TSource> source
                                                                                  , Func <TSource, TKey> keySelector, IComparer <TKey> comparer)
 {
     return(new KeepOrderedEnumerable <TSource>(source).Add(keySelector, comparer, true));
 }