Поделиться через


Использование распространения значений NULL (IDE0031)

Свойство Значение
Идентификатор правила IDE0031
Title Использование распространения значений NULL
Категория Стиль
Подкатегория Правила языка (настройки уровня выражения)
Применимые языки C# и Visual Basic
Параметры dotnet_style_null_propagation

Общие сведения

Это правило стиля относится к использованию условного оператора null и тернарного условного выражения с проверка null.

Варианты

Задайте значение связанного параметра, чтобы указать, какие операторы — условные операторы null или тернарные условные выражения с проверками NULL.

Дополнительные сведения о настройке параметров см. в разделе Формат параметра.

dotnet_style_null_propagation

Свойство Значение Описание
Имя параметра dotnet_style_null_propagation
Значения параметра true Предпочитать использовать условный оператор NULL, когда это возможно
false Предпочитать использовать тернарную проверку значений NULL, где это возможно
Значение параметра по умолчанию true
// dotnet_style_null_propagation = true
var v = o?.ToString();

// dotnet_style_null_propagation = false
var v = o == null ? null : o.ToString(); // or
var v = o != null ? o.ToString() : null;
' dotnet_style_null_propagation = true
Dim v = o?.ToString()

' dotnet_style_null_propagation = false
Dim v = If(o Is Nothing, Nothing, o.ToString()) ' or
Dim v = If(o IsNot Nothing, o.ToString(), Nothing)

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

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

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

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

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

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

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

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

См. также раздел