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

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

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

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

Варианты

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

dotnet_style_prefer_conditional_expression_over_assignment

Свойство Значение Описание
Имя параметра dotnet_style_prefer_conditional_expression_over_assignment
Значения параметра true Предпочитать назначения с тернарным условным
false Предпочитать назначения с помощью оператора if-else
Значение параметра по умолчанию true
// dotnet_style_prefer_conditional_expression_over_assignment = true
string s = expr ? "hello" : "world";

// dotnet_style_prefer_conditional_expression_over_assignment = false
string s;
if (expr)
{
    s = "hello";
}
else
{
    s = "world";
}
' dotnet_style_prefer_conditional_expression_over_assignment = true
Dim s As String = If(expr, "hello", "world")

' dotnet_style_prefer_conditional_expression_over_assignment = false
Dim s As String
If expr Then
    s = "hello"
Else
    s = "world"
End If

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

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

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

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

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

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

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

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

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