LinqExtensions
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | using System; using System.Linq; namespace System.Collections.Generic { public static class LinqExtensions { public static void ForEach<T>( this IEnumerable<T> array, Action<T> action) { foreach (T item in array) { if (action != null ) { action(item); } } } public static IEnumerable<T> AsEnumerable<T>( this IEnumerable array) { foreach ( var item in array) { if (item is T) { yield return (T)item; } } } /// <summary> /// 对枚举进行分组 /// </summary> public static IEnumerable<T[]> GroupArray<T>( this IEnumerable<T> arr, int count) { List<T> temp = new List<T>(); foreach (T item in arr) { if (temp.Count == count) { yield return temp.ToArray(); temp.Clear(); } temp.Add(item); } if (temp.Count > 0) yield return temp.ToArray(); } public static IEnumerable<T[]> SplitContent<T>( this T[] array, int count) { int page_count = ( int )Math.Ceiling(( double )array.Length / count); for ( int i = 0; i < page_count; i++) { int size = i != page_count - 1 ? count : array.Length - i * count; T[] temp = new T[size]; Array.Copy(array, i * count, temp, 0, size); yield return temp; //yield return array.Skip(i * count).Take(count).ToArray(); } } } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步