数组、IEnumerable、List、合分片或分块
2023-09-14 08:57:23 时间
/// <summary> /// /// </summary> public static class IEnumerableExtentions { /// <summary> /// 复制序列中的数据 /// </summary> /// <typeparam name="T">泛型</typeparam> /// <param name="iEnumberable">原数据</param> /// <param name="startIndex">原数据开始复制的起始位置</param> /// <param name="length">需要复制的数据长度</param> /// <returns></returns> public static IEnumerable<T> Copy<T>(this IEnumerable<T> iEnumberable, int startIndex, int length) { var sourceArray = iEnumberable.ToArray(); T[] newArray = new T[length]; Array.Copy(sourceArray, startIndex, newArray, 0, length); return newArray; } /// <summary> /// 给IEnumerable拓展ForEach方法 /// </summary> /// <typeparam name="T">模型类</typeparam> /// <param name="iEnumberable">数据源</param> /// <param name="func">方法</param> public static void ForEach<T>(this IEnumerable<T> iEnumberable, Action<T> func) { foreach (var item in iEnumberable) { func(item); } } /// <summary> /// 给IEnumerable拓展ForEach方法 /// </summary> /// <typeparam name="T">模型类</typeparam> /// <param name="iEnumberable">数据源</param> /// <param name="func">方法</param> public static void ForEach<T>(this IEnumerable<T> iEnumberable, Action<T, int> func) { var array = iEnumberable.ToArray(); for (int i = 0; i < array.Count(); i++) { func(array[i], i); } } /// <summary> /// 分块 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="source"></param> /// <param name="chunkSize"></param> /// <returns></returns> public static IEnumerable<IEnumerable<T>> Chunk<T>(this IEnumerable<T> source, int chunkSize) { return source .Select((x, i) => new { Index = i, Value = x }) .GroupBy(x => x.Index / chunkSize) .Select(x => x.Select(v => v.Value).ToList()) .ToList(); }
相关文章
- fastjson List String JSONArray 转换
- java 将数组转化成List「建议收藏」
- 请简述list,set,map类型的集合的各自特点_list与set的区别
- Java list foreach_java的foreach
- Vue.js 学习笔记 - 虚拟列表(Virtual-Scroll-List)心得
- 数组、IEnumerable、List、合分片或分块
- 【Redis 系列】redis 学习三,redis 数据结构之 string 和 list 基本使用及熟悉
- 小程序正式版报错600002 url not in domain list
- 【Kotlin】集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )
- WordPress 技巧:使用 wp_list_sort 对二维关联数组进行排序
- ORA-01470: In-list iteration does not support mixed operators ORACLE 报错 故障修复 远程处理
- ORA-32048: cycle mark column name for CYCLE clause must not be part of the column alias list ORACLE 报错 故障修复 远程处理
- ORA-32485: element in cycle column list of CYCLE clause must appear in the column alias list of the WITH clause element ORACLE 报错 故障修复 远程处理
- ORA-44802: No new plan (classifier list) has been submitted ORACLE 报错 故障修复 远程处理
- ORA-14216: subpartition bound list contains too few elements ORACLE 报错 故障修复 远程处理
- ORA-14255: table is not partitioned by Range, List, Composite Range or Composite List method ORACLE 报错 故障修复 远程处理
- ORA-16745: unable to add DB_UNIQUE_NAME “string” into the DG_CONFIG list because it is full ORACLE 报错 故障修复 远程处理
- java数组转换为List注意地方详解编程语言
- java list排序详解编程语言
- 列出MySQL数据库的表:使用List函数(mysqllist)
- 轻松高效:Redis存取List的最佳实践(redis 存取list)
- 使用Redis实现List存储(向redis中存list)
- 实现使用List实现Redis队列(redis队列用list)
- Redis List实现的双向链表功能(redis里面的list)
- C#没有动态的数组,可以用arraylist或list取代
- C#中实现任意List的全组合算法代码