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


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

Свойство Ценность
идентификатор правила IDE0031
заголовок Использование распространения 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

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

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

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

См. также