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;
+ }
+}