Использовать условное выражение для назначения (IDE0045)Use conditional expression for assignment (IDE0045)

СвойствоProperty ЗначениеValue
Идентификатор правилаRule ID IDE0045IDE0045
ЗаголовокTitle Использовать условное выражение для назначенияUse conditional expression for assignment
КатегорияCategory СтильStyle
ПодкатегорияSubcategory Правила языка (настройки уровня выражения)Language rules (expression-level preferences)
Применимые языкиApplicable languages C# и Visual BasicC# and Visual Basic
Представленные версииIntroduced version Visual Studio 2017 версии 15.8Visual Studio 2017 version 15.8

ОбзорOverview

Это правило стиля относится к использованию условных выражений ternary в сравнении с оператором if-else для назначений, требующих условной логики.This style rule concerns with the use of ternary conditional expressions versus an if-else statement for assignments that require conditional logic.

dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_assignment

СвойствоProperty ЗначениеValue
Имя параметраOption name dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_assignment
Значения параметровOption values true — предпочитать назначения с тернарным условием вместо оператора if-else.true - Prefer assignments with a ternary conditional over an if-else statement

false — предпочитать оператор if-else вместо тернарного условия.false - Prefer assignments with an if-else statement over a ternary conditional
Значение параметра по умолчаниюDefault option value true

ПримерExample

// 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

См. такжеSee also