← All recipes
Moderne licensed

Avoid closure when using ConcurrentDictionary

Recipe IDOpenRewrite.Recipes.CSharp.CodeQuality.Performance.FindAvoidClosureInConcurrentDictionaryArtifactOpenRewrite.Recipes.CSharp.CodeQuality

ConcurrentDictionary methods like GetOrAdd may evaluate the factory even when the key exists. Use the overload with a factory argument to avoid closure allocation.

Single recipecsharpperformancecode-qualityProprietary

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.CodeQuality.Performance.FindAvoidClosureInConcurrentDictionary

If the recipe isn’t available locally, install it with:

mod config recipes nuget install OpenRewrite.Recipes.CSharp.CodeQuality