Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA1855 |
| Заголовок | Используйте Span<T>.Clear() вместо Span<T>.Fill() |
| Категория | Производительность |
| Исправление является критическим или не критическим | неразрывный |
| Включен по умолчанию в .NET 10 | Как предложение |
| Применимые языки | C# |
Причина
Span<T>.Fill(T) вызывается для заполнения элементов диапазона значением по умолчанию.
Описание правила
Более эффективно вызвать Span<T>.Clear(), чем Span<T>.Fill(T), чтобы заполнить элементы интервала значением по умолчанию.
Устранение нарушений
Замените вызов Span<T>.Fill(T) вызовом Span<T>.Clear().
Пример
В следующем фрагменте кода показано нарушение CA1855:
void M(Span<byte> span)
{
span.Fill(0);
}
Следующий фрагмент кода исправляет нарушение.
void M(Span<byte> span)
{
span.Clear();
}
Когда лучше отключить предупреждения
Это предупреждение безопасно подавлять, если производительность не является проблемой.
Отключение предупреждений
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA1855.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.