Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Не сравнивайте
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA2264 |
| Заголовок | Не сравнивайте Span<T> с null или default |
| Категория | Использование |
| Исправление является критическим или не критическим | неразрывный |
| Включен по умолчанию в .NET 10 | Как предупреждение |
| Применимые языки | C# и Visual Basic |
Причина
Экземпляр Span<T> сравнивается с null или default.
Описание правила
Сравнение диапазона с null или default может не делать то, что вы намеревались.
default и литерал null неявно преобразуются в Span<T>.Empty.
Устранение нарушений
Удалите избыточное сравнение или сделайте код более явным путем вызова IsEmpty .
Пример
В следующем фрагменте кода показаны два нарушения CA2265 и исправление нарушений.
Span<int> span = new([1, 2, 3]);
// CA2265 violation.
if (span == null) { }
// CA2265 violation.
if (span == default) { }
// Fixes the violation.
if (span.IsEmpty) { }
Когда лучше отключить предупреждения
Можно безопасно подавить это предупреждение, если вы действительно хотите сравнить диапазон с пустым диапазоном.
Отключение предупреждений
Если вы просто хотите отключить одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable CA2265
// The code that's violating the rule is on this line.
#pragma warning restore CA2265
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.CA2265.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.