Использование распространения значений 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
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
См. также
- Правила языка оформления кода
- справочник по правилам стиля кода