C#


ROSLYN.PERFORMANCE.CA1841 : Prefer Dictionary.Contains methods (C#)

See Roslyn-Detected C# Warning Classes for more information.

Summary

'ContainsKey' is usually O(1), while 'Keys.Contains' may be O(n) in some cases. Additionally, many dictionary implementations lazily initialize the Keys collection to cut back on allocations.

This check corresponds to Roslyn rule CA1841. For full rule details, see the Microsoft website: CA1841.

Properties

Class Name Prefer Dictionary.Contains methods (C#)
Significance reliability
Mnemonic ROSLYN.PERFORMANCE.CA1841
Categories None
Availability Available for C# only.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Prefer Dictionary.Contains methods (C#)"

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.