Use AsSpan instead of range-based indexers for string

이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.

Metadata

ID: csharp-best-practices/asspan-instead-of-range

Language: C#

Severity: Warning

Category: Best Practices

Description

This rule recommends using AsSpan over range-based indexers when manipulating strings in CSharp. By using AsSpan, you access a substring without creating a new string, which reduces memory allocation and avoids unnecessary garbage collection. Range-based indexers, on the other hand, can lead to unnecessary memory use by creating new strings.

This rule helps improve memory efficiency and performance, especially with large strings or many string changes. It also makes your code clearer and easier to maintain by showing you’re working with part of a strong instead of making a new one.

How to fix

Use the AsSpan method to handle substrings efficiently. For example, instead of str[1..3], use str.AsSpan()[1..3]. This prevents unnecessary string creation and improves efficiency.

Non-Compliant Code Examples

ReadOnlySpan<char> slice = str[1..3];

Compliant Code Examples

ReadOnlySpan<char> slice = str.AsSpan()[1..3];
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Security

PREVIEWING: aleksandr.pasechnik/svls-6807-lambda-fips