Iterator工具-IteratorUtil
# 简介
静态工具类 IteratorUtil,是一个 C# 迭代器工具类,提供了一些常用的方法来对迭代器进行过滤、转换、排序和分组等操作。以下是 IteratorUtil 的主要功能:
- 将数组转换为迭代器。
- 过滤掉不符合条件的元素。
- 对每个元素进行转换。
- 取出前 n 个元素。
- 跳过前 n 个元素。
- 将元素分组。
- 对元素进行排序和倒序排序。
# EasyTool.IteratorUtil 类
方法说明:
AsIterator
: 将一个数组转换为一个迭代器。Filter
: 过滤掉一个迭代器中不符合条件的元素。Map
: 对一个迭代器中的每个元素进行转换。Take
: 从一个迭代器中取出前 n 个元素。Skip
: 跳过一个迭代器中的前 n 个元素。GroupBy
: 将一个迭代器的元素分组。OrderBy
: 对一个迭代器中的元素进行排序。OrderByDescending
: 对一个迭代器中的元素进行倒序排序。
# AsIterator-将一个数组转换为一个迭代器
/// <summary>
/// 将一个数组转换为一个迭代器
/// </summary>
public static IEnumerable<T> AsIterator<T>(this T[] array)
# Filter-过滤掉一个迭代器中不符合条件的元素
/// <summary>
/// 过滤掉一个迭代器中不符合条件的元素
/// </summary>
public static IEnumerable<T> Filter<T>(this IEnumerable<T> source, Func<T, bool> predicate)
# Map-对一个迭代器中的每个元素进行转换
/// <summary>
/// 对一个迭代器中的每个元素进行转换
/// </summary>
public static IEnumerable<TResult> Map<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector)
# Take-从一个迭代器中取出前 n 个元素
/// <summary>
/// 从一个迭代器中取出前 n 个元素
/// </summary>
public static IEnumerable<T> Take<T>(this IEnumerable<T> source, int count)
# Skip-跳过一个迭代器中的前 n 个元素
/// <summary>
/// 跳过一个迭代器中的前 n 个元素
/// </summary>
public static IEnumerable<T> Skip<T>(this IEnumerable<T> source, int count)
# GroupBy-将一个迭代器的元素分组
/// <summary>
/// 将一个迭代器的元素分组
/// </summary>
public static IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
/// <summary>
/// 将一个迭代器的元素按照指定的方式分组
/// </summary>
public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, Func<TSource, TElement> elementSelector)
# OrderBy-对一个迭代器中的元素进行排序
/// <summary>
/// 对一个迭代器中的元素进行排序
/// </summary>
public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
/// <summary>
/// 对一个迭代器中的元素按照指定的方式进行排序
/// </summary>
public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer)
/// <summary>
/// 对一个迭代器中的元素按照指定的方式进行排序,并指定排序方向
/// </summary>
public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer, bool descending)
# OrderByDescending-对一个迭代器中的元素进行倒序排序
/// <summary>
/// 对一个迭代器中的元素进行倒序排序
/// </summary>
public static IOrderedEnumerable<TSource> OrderByDescending<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
/// <summary>
/// 对一个迭代器中的元素按照指定的方式进行倒序排序
/// </summary>
public static IOrderedEnumerable<TSource> OrderByDescending<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer)
/// <summary>
/// 对一个迭代器中的元素按照指定的方式进行倒序排序,并指定排序方向
/// </summary>
public static IOrderedEnumerable<TSource> OrderByDescending<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer, bool descending)
上次更新: 2023/04/26, 22:10:06