瀏覽代碼

优化LookupX

懒得勤快 9 月之前
父節點
當前提交
e1273ab871

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

@@ -47,7 +47,7 @@
     </ItemGroup>
 
     <ItemGroup>
-        <PackageReference Include="AngleSharp" Version="1.1.2" />
+        <PackageReference Include="AngleSharp" Version="1.2.0" />
         <PackageReference Include="AngleSharp.Css" Version="1.0.0-beta.144" />
         <PackageReference Include="DnsClient" Version="1.8.0" />
         <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
@@ -84,21 +84,21 @@
         <PackageReference Include="Castle.Core" Version="5.1.1" />
         <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="7.0.0" />
         <PackageReference Include="System.Collections.Immutable" Version="8.0.0" />
-        <PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.4" />
+        <PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.5" />
     </ItemGroup>
 
     <ItemGroup Condition=" '$(TargetFramework)' == 'net8'">
         <PackageReference Include="Castle.Core" Version="5.1.1" />
         <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="8.0.1" />
         <PackageReference Include="System.Collections.Immutable" Version="8.0.0" />
-        <PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.4" />
+        <PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.5" />
     </ItemGroup>
 
     <ItemGroup Condition=" '$(TargetFramework)' == 'net9'">
         <PackageReference Include="Castle.Core" Version="5.1.1" />
         <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="9.0.0" />
         <PackageReference Include="System.Collections.Immutable" Version="9.0.0" />
-        <PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.4" />
+        <PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.5" />
     </ItemGroup>
 
     <ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">

+ 5 - 4
Masuit.Tools.Abstractions/Systems/LookupX.cs

@@ -1,10 +1,11 @@
 using System.Collections;
 using System.Collections.Concurrent;
 using System.Collections.Generic;
+using System.Linq;
 
 namespace Masuit.Tools.Systems;
 
-public class LookupX<TKey, TElement> : IEnumerable<List<TElement>>
+public class LookupX<TKey, TElement> : IEnumerable<KeyValuePair<TKey, List<TElement>>>
 {
     private readonly IDictionary<TKey, List<TElement>> _dictionary;
 
@@ -18,9 +19,9 @@ public class LookupX<TKey, TElement> : IEnumerable<List<TElement>>
         _dictionary = dic;
     }
 
-    public IEnumerator<List<TElement>> GetEnumerator()
+    public IEnumerator<KeyValuePair<TKey, List<TElement>>> GetEnumerator()
     {
-        return _dictionary.Values.GetEnumerator();
+        return _dictionary.Select(pair => pair).GetEnumerator();
     }
 
     IEnumerator IEnumerable.GetEnumerator()
@@ -36,4 +37,4 @@ public class LookupX<TKey, TElement> : IEnumerable<List<TElement>>
     public int Count => _dictionary.Count;
 
     public List<TElement> this[TKey key] => _dictionary.TryGetValue(key, out var value) ? value : new List<TElement>();
-}
+}

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

@@ -15,12 +15,12 @@
   <ItemGroup>
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
     <PackageReference Include="Moq" Version="4.20.72" />
-    <PackageReference Include="xunit" Version="2.9.2" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
+    <PackageReference Include="xunit" Version="2.9.3" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
-    <PackageReference Include="coverlet.collector" Version="6.0.2">
+    <PackageReference Include="coverlet.collector" Version="6.0.3">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>

+ 2 - 2
Test/Masuit.Tools.Core.Test/Masuit.Tools.Core.Test.csproj

@@ -13,8 +13,8 @@
     <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.0" />
     <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0" />
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
-    <PackageReference Include="xunit" Version="2.9.2" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
+    <PackageReference Include="xunit" Version="2.9.3" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="3.0.1">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
     </PackageReference>

+ 6 - 6
Test/Masuit.Tools.Test/Masuit.Tools.Test.csproj

@@ -109,27 +109,27 @@
       <Version>4.5.0</Version>
     </PackageReference>
     <PackageReference Include="xunit">
-      <Version>2.9.2</Version>
+      <Version>2.9.3</Version>
     </PackageReference>
     <PackageReference Include="xunit.abstractions">
       <Version>2.0.3</Version>
     </PackageReference>
     <PackageReference Include="xunit.analyzers">
-      <Version>1.18.0</Version>
+      <Version>1.19.0</Version>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
       <PrivateAssets>all</PrivateAssets>
     </PackageReference>
     <PackageReference Include="xunit.assert">
-      <Version>2.9.2</Version>
+      <Version>2.9.3</Version>
     </PackageReference>
     <PackageReference Include="xunit.core">
-      <Version>2.9.2</Version>
+      <Version>2.9.3</Version>
     </PackageReference>
     <PackageReference Include="xunit.extensibility.core">
-      <Version>2.9.2</Version>
+      <Version>2.9.3</Version>
     </PackageReference>
     <PackageReference Include="xunit.extensibility.execution">
-      <Version>2.9.2</Version>
+      <Version>2.9.3</Version>
     </PackageReference>
   </ItemGroup>
   <ItemGroup>