From 7025074170ce93552a40e6c2aaaf294348acb4f7 Mon Sep 17 00:00:00 2001 From: Lightczx <1686188646@qq.com> Date: Wed, 15 Nov 2023 16:36:15 +0800 Subject: [PATCH] fix collection style --- .../Snap.Hutao.SourceGeneration/Resx/ResxGenerator.cs | 6 ++++-- .../Service/Achievement/AchievementDbService.cs | 6 ++++-- .../Service/AvatarInfo/AvatarInfoDbService.cs | 3 ++- src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLog.cs | 7 ++++--- .../Snap.Hutao/ViewModel/Guide/GuideViewModel.cs | 2 +- .../Snap.Hutao/ViewModel/Wiki/WikiWeaponViewModel.cs | 10 +++++----- 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/Snap.Hutao/Snap.Hutao.SourceGeneration/Resx/ResxGenerator.cs b/src/Snap.Hutao/Snap.Hutao.SourceGeneration/Resx/ResxGenerator.cs index a9472dbd..36e0498c 100644 --- a/src/Snap.Hutao/Snap.Hutao.SourceGeneration/Resx/ResxGenerator.cs +++ b/src/Snap.Hutao/Snap.Hutao.SourceGeneration/Resx/ResxGenerator.cs @@ -39,8 +39,10 @@ public sealed class ResxGenerator : IIncrementalGenerator private static void Execute(SourceProductionContext context, AnalyzerConfigOptionsProvider options, string? assemblyName, bool supportNullableReferenceTypes, ImmutableArray files) { // Group additional file by resource kind ((a.resx, a.en.resx, a.en-us.resx), (b.resx, b.en-us.resx)) - List> resxGroups = [.. files.GroupBy(file => GetResourceName(file.Path), StringComparer.OrdinalIgnoreCase).OrderBy(x => x.Key, StringComparer.Ordinal)]; - + IOrderedEnumerable> group = files + .GroupBy(file => GetResourceName(file.Path), StringComparer.OrdinalIgnoreCase) + .OrderBy(x => x.Key, StringComparer.Ordinal); + List> resxGroups = [.. group]; foreach (IGrouping? resxGroug in resxGroups) { diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementDbService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementDbService.cs index ee6bab37..8440a8b9 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementDbService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementDbService.cs @@ -129,7 +129,8 @@ internal sealed partial class AchievementDbService : IAchievementDbService using (IServiceScope scope = serviceProvider.CreateScope()) { AppDbContext appDbContext = scope.ServiceProvider.GetRequiredService(); - return [.. appDbContext.Achievements.AsNoTracking().Where(i => i.ArchiveId == archiveId)]; + IQueryable result = appDbContext.Achievements.AsNoTracking().Where(i => i.ArchiveId == archiveId); + return [.. result]; } } @@ -151,7 +152,8 @@ internal sealed partial class AchievementDbService : IAchievementDbService using (IServiceScope scope = serviceProvider.CreateScope()) { AppDbContext appDbContext = scope.ServiceProvider.GetRequiredService(); - return [.. appDbContext.AchievementArchives.AsNoTracking()]; + IQueryable result = appDbContext.AchievementArchives.AsNoTracking(); + return [.. result]; } } diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoDbService.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoDbService.cs index ab917c1b..f8683628 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoDbService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoDbService.cs @@ -19,7 +19,8 @@ internal sealed partial class AvatarInfoDbService : IAvatarInfoDbService using (IServiceScope scope = serviceProvider.CreateScope()) { AppDbContext appDbContext = scope.ServiceProvider.GetRequiredService(); - return [.. appDbContext.AvatarInfos.AsNoTracking().Where(i => i.Uid == uid)]; + IQueryable result = appDbContext.AvatarInfos.AsNoTracking().Where(i => i.Uid == uid); + return [.. result]; } } diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLog.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLog.cs index 7ace4b6a..18ea71d8 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLog.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLog.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using Snap.Hutao.Web.Hoyolab.Hk4e.Event.GachaInfo; +using System.Collections.Frozen; using System.Collections.Immutable; namespace Snap.Hutao.Service.GachaLog; @@ -14,11 +15,11 @@ internal static class GachaLog /// /// 查询类型 /// - public static readonly ImmutableList QueryTypes = new List - { + public static readonly FrozenSet QueryTypes = FrozenSet.ToFrozenSet( + [ GachaConfigType.NoviceWish, GachaConfigType.StandardWish, GachaConfigType.AvatarEventWish, GachaConfigType.WeaponEventWish, - }.ToImmutableList(); // TODO: FrozenSet + ]); } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Guide/GuideViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Guide/GuideViewModel.cs index 3832b069..e8b5718d 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Guide/GuideViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Guide/GuideViewModel.cs @@ -160,7 +160,7 @@ internal sealed partial class GuideViewModel : Abstraction.ViewModel private async ValueTask DownloadStaticResourceAsync() { - HashSet downloadSummaries = new(); + HashSet downloadSummaries = []; HashSet categories = StaticResource.GetUnfulfilledCategorySet(); diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Wiki/WikiWeaponViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Wiki/WikiWeaponViewModel.cs index dbdd95d8..fe709b05 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Wiki/WikiWeaponViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Wiki/WikiWeaponViewModel.cs @@ -87,17 +87,17 @@ internal sealed partial class WikiWeaponViewModel : Abstraction.ViewModel Dictionary idMaterialMap = await metadataService.GetIdToMaterialMapAsync().ConfigureAwait(false); List weapons = await metadataService.GetWeaponsAsync().ConfigureAwait(false); - List sorted = weapons + IEnumerable sorted = weapons .OrderByDescending(weapon => weapon.RankLevel) .ThenBy(weapon => weapon.WeaponType) - .ThenByDescending(weapon => weapon.Id.Value) - .ToList(); + .ThenByDescending(weapon => weapon.Id.Value); + List list = [.. sorted]; - await CombineComplexDataAsync(sorted, idMaterialMap).ConfigureAwait(false); + await CombineComplexDataAsync(list, idMaterialMap).ConfigureAwait(false); await taskContext.SwitchToMainThreadAsync(); - Weapons = new AdvancedCollectionView(sorted, true); + Weapons = new AdvancedCollectionView(list, true); Selected = Weapons.Cast().FirstOrDefault(); } }