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


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

Свойство Ценность
идентификатор правила IDE0045
Заголовок Использование условного выражения для назначения
категория Стиль
подкатегория Языковые правила (предпочтения уровня выражений)
применимые языки 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

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

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

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

См. также