C#


ROSLYN.PERFORMANCE.CA1831 : Use AsSpan or AsMemory instead of Range-based indexers when appropriate (C#)

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

Summary

The Range-based indexer on string values produces a copy of requested portion of the string. This copy is usually unnecessary when it is implicitly used as a ReadOnlySpan or ReadOnlyMemory value. Use the AsSpan method to avoid the unnecessary copy.

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

Properties

Class Name Use AsSpan or AsMemory instead of Range-based indexers when appropriate (C#)
Significance reliability
Mnemonic ROSLYN.PERFORMANCE.CA1831
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="Use AsSpan or AsMemory instead of Range-based indexers when appropriate (C#)"

Relevant Configuration File Parameters

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