懒得勤快 пре 3 година
родитељ
комит
ca1992ee23

+ 25 - 2
Masuit.Tools.Abstractions/Extensions/BaseType/IEnumerableExtensions.cs

@@ -2,6 +2,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Linq.Expressions;
 using System.Threading;
@@ -177,6 +178,16 @@ namespace Masuit.Tools
         /// <returns></returns>
         public static async Task ForeachAsync<T>(this IEnumerable<T> source, Func<T, Task> action, int maxParallelCount, CancellationToken cancellationToken = default)
         {
+            if (Debugger.IsAttached)
+            {
+                foreach (var item in source)
+                {
+                    await action(item);
+                }
+
+                return;
+            }
+
             var list = new List<Task>();
             foreach (var item in source)
             {
@@ -245,8 +256,19 @@ namespace Masuit.Tools
         /// <returns></returns>
         public static async Task ForAsync<T>(this IEnumerable<T> source, Func<T, int, Task> selector, int maxParallelCount, CancellationToken cancellationToken = default)
         {
-            var list = new List<Task>();
             int index = 0;
+            if (Debugger.IsAttached)
+            {
+                foreach (var item in source)
+                {
+                    await selector(item, index);
+                    index++;
+                }
+
+                return;
+            }
+
+            var list = new List<Task>();
             foreach (var item in source)
             {
                 if (cancellationToken.IsCancellationRequested)
@@ -254,7 +276,8 @@ namespace Masuit.Tools
                     return;
                 }
 
-                list.Add(selector(item, index++));
+                list.Add(selector(item, index));
+                Interlocked.Add(ref index, 1);
                 if (list.Count >= maxParallelCount)
                 {
                     await Task.WhenAll(list);

+ 3 - 3
Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj

@@ -4,7 +4,7 @@
     <LangVersion>latest</LangVersion>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <CodeAnalysisRuleSet />
-    <Version>2.4.5.5</Version>
+    <Version>2.4.5.6</Version>
     <Authors>懒得勤快</Authors>
     <Description>Masuit.Tools基础公共库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。</Description>
     <Copyright>懒得勤快,长空X</Copyright>
@@ -17,9 +17,9 @@
     <RepositoryType>Github</RepositoryType>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
     <PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
-    <FileVersion>2.4.5.5</FileVersion>
+    <FileVersion>2.4.5.6</FileVersion>
     <Company>masuit.com</Company>
-    <AssemblyVersion>2.4.5.5</AssemblyVersion>
+    <AssemblyVersion>2.4.5.6</AssemblyVersion>
     <PackageLicenseUrl>https://github.com/ldqk/Masuit.Tools/blob/master/LICENSE</PackageLicenseUrl>
     <EmbedUntrackedSources>true</EmbedUntrackedSources>
     <IncludeSymbols>true</IncludeSymbols>

+ 3 - 3
Masuit.Tools.Core/Masuit.Tools.Core.csproj

@@ -18,10 +18,10 @@ github:https://github.com/ldqk/Masuit.Tools
         <UserSecretsId>830c282f-f7c1-42be-8651-4cd06ac8e73f</UserSecretsId>
         <RepositoryType>Github</RepositoryType>
         <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-        <Version>2.4.5.5</Version>
-        <FileVersion>2.4.5.5</FileVersion>
+        <Version>2.4.5.6</Version>
+        <FileVersion>2.4.5.6</FileVersion>
         <Company>masuit.com</Company>
-        <AssemblyVersion>2.4.5.5</AssemblyVersion>
+        <AssemblyVersion>2.4.5.6</AssemblyVersion>
         <Authors>懒得勤快</Authors>
         <RepositoryUrl>https://github.com/ldqk/Masuit.Tools</RepositoryUrl>
         <EmbedUntrackedSources>true</EmbedUntrackedSources>

+ 1 - 1
Masuit.Tools/package.nuspec

@@ -4,7 +4,7 @@
     <!--*-->
     <id>Masuit.Tools.Net</id>
     <!--*-->
-    <version>2.4.5.5</version>
+    <version>2.4.5.6</version>
     <title>Masuit.Tools</title>
     <!--*-->
     <authors>懒得勤快</authors>