Use Frozen collections instead of Immutable
Recipe ID
OpenRewrite.Recipes.CSharp.Migration.Dotnet.Net9.UseFrozenCollectionsArtifactOpenRewrite.Recipes.CSharp.Migration.DotnetReplace ToImmutableDictionary() with ToFrozenDictionary() and ToImmutableHashSet() with ToFrozenSet(). Frozen collections (.NET 8+) provide better read performance for collections populated once and read many times.
Single recipemodernizationcsharpdotnetProprietary
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe OpenRewrite.Recipes.CSharp.Migration.Dotnet.Net9.UseFrozenCollectionsIf the recipe isn’t available locally, install it with:
mod config recipes nuget install OpenRewrite.Recipes.CSharp.Migration.Dotnet