Бөлісу құралы:


CA1514: избегайте избыточного аргумента длины

Свойство Значение
Идентификатор правила CA1514
Заголовок Избегайте избыточного аргумента длины
Категория Ремонтопригодность
Исправление является критическим или не критическим Не критическое
Включен по умолчанию в .NET 9 Как предложение

Причина

Аргумент избыточной длины передается String.Substringв , Span<T>.SliceReadOnlySpan<T>.Sliceили Memory<T>.Slice при срезе в конец строки или буфера.

Описание правила

Явно вычисляемый аргумент длины может быть подвержен ошибке и не является ненужным при нарезке до конца строки или буфера.

Код, который пропускает аргумент длины, является более удобочитаемым и обслуживаемым.

Устранение нарушений

Удалите аргумент длины.

Пример

В следующем фрагменте кода показано нарушение CA1514:

string message = "Hello World!";
string world = message.Substring(6, message.Length - 6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6, message.Length - 6) ' "World!"

Следующий фрагмент кода исправляет нарушение.

string message = "Hello World!";
string world = message.Substring(6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6) ' "World!"

Когда лучше отключить предупреждения

Нарушение этого правила можно безопасно скрыть, если вы не беспокоитесь об удобстве обслуживания кода.

Отключение предупреждений

Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.

#pragma warning disable CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514

Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.

[*.{cs,vb}]
dotnet_diagnostic.CA1514.severity = none

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.