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

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

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

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

Варианты

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

dotnet_style_prefer_conditional_expression_over_return

Свойство Значение Описание
Имя параметра dotnet_style_prefer_conditional_expression_over_return
Значения параметра true Предпочитать операторы return для использования тернарного условного
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

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

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

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

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