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


Использование условного выражения для возврата (IDE0046)

Свойство Ценность
идентификатор правила IDE0046
Заголовок Использование условного выражения для возврата
категория Стиль
подкатегории Языковые правила (предпочтения уровня выражений)
применимые языки C# и Visual Basic
появилась версия Visual Studio 2017
Параметры dotnet_style_prefer_conditional_expression_over_return

Обзор

Это правило стиля касается использования тернарного условного выражения против инструкции if-else для инструкций возврата, требующих условной логики.

Параметры

Параметры указывают поведение, которое вы хотите, чтобы правило соблюдало. Сведения о настройке параметров см. в разделе Формат параметра.

dotnet_style_prefer_conditional_expression_over_return

Свойство Ценность Описание
имя параметра dotnet_style_prefer_conditional_expression_over_return
значения опций true Предпочитайте использовать операторы возврата вместо тернарного условного оператора.
false Предпочитайте операторы return вместо инструкции if-else
значение параметра по умолчанию true
// dotnet_style_prefer_conditional_expression_over_return = true
return expr ? "hello" : "world"

// dotnet_style_prefer_conditional_expression_over_return = false
if (expr)
{
    return "hello";
}
else
{
    return "world";
}
' dotnet_style_prefer_conditional_expression_over_return = true
Return If(expr, "hello", "world")

' dotnet_style_prefer_conditional_expression_over_return = false
If expr Then
    Return "hello"
Else
    Return "world"
End If

Подавление предупреждения

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

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

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

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

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

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

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

См. также