Usar expressão condicional para atribuição (IDE0045)Use conditional expression for assignment (IDE0045)

PropriedadeProperty ValorValue
ID da regraRule ID IDE0045IDE0045
TítuloTitle Usar expressão condicional para atribuiçãoUse conditional expression for assignment
CategoriaCategory EstiloStyle
SubcategoriaSubcategory Regras de linguagem (preferências em nível de expressão)Language rules (expression-level preferences)
Idiomas aplicáveisApplicable languages C# e Visual BasicC# and Visual Basic
Versão introduzidaIntroduced version Visual Studio 2017 versão 15.8Visual Studio 2017 version 15.8

Visão geralOverview

Essa regra de estilo se refere ao uso de expressões condicionais ternários em comparação com uma instrução if-else para atribuições que exigem lógica condicional.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

PropriedadeProperty ValorValue
Nome da opçãoOption name dotnet_style_prefer_conditional_expression_over_assignmentdotnet_style_prefer_conditional_expression_over_assignment
Valores de opçãoOption values true – preferir atribuições com uma condicional ternária em vez de uma instrução if-elsetrue - Prefer assignments with a ternary conditional over an if-else statement

false – preferir atribuições com uma instrução if-else em vez de uma condicional ternáriafalse - Prefer assignments with an if-else statement over a ternary conditional
Valor da opção padrãoDefault option value true

ExemploExample

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

Confira tambémSee also