From 2b1817bf080e4d3846a41110882ee43459a4112d Mon Sep 17 00:00:00 2001 From: lqc <15342622+aq982@user.noreply.gitee.com> Date: Mon, 10 Mar 2025 01:29:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=A8Batch=E6=89=A9=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Utils/EnumerableExtensions.cs | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Admin.NET/Admin.NET.Core/Utils/EnumerableExtensions.cs diff --git a/Admin.NET/Admin.NET.Core/Utils/EnumerableExtensions.cs b/Admin.NET/Admin.NET.Core/Utils/EnumerableExtensions.cs new file mode 100644 index 00000000..5936502f --- /dev/null +++ b/Admin.NET/Admin.NET.Core/Utils/EnumerableExtensions.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.NET.Core.Utils; +public static class EnumerableExtensions +{ + /// + /// 将集合分批次处理 + /// + public static IEnumerable> Batch(this IEnumerable source, int batchSize) + { + var batch = new List(batchSize); + foreach (var item in source) + { + batch.Add(item); + if (batch.Count == batchSize) + { + yield return batch; + batch = new List(batchSize); + } + } + if (batch.Count > 0) + yield return batch; + } +}