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


Удаление ненужных значений выражения (IDE0058)

Свойство Ценность
идентификатор правила IDE0058
Заголовок Удаление ненужных значений выражения
Категория Стиль
подкатегория Языковые правила (предпочтения уровня выражений)
применимые языки C# и Visual Basic
Опции csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference

Обзор

Это правило помечает неиспользуемые значения выражений. Например:

void M()
{
  Compute(); // IDE0058: computed value is never used.
}

int Compute();

Чтобы устранить это нарушение, выполните одно из следующих действий:

  • Если выражение не имеет побочных эффектов, удалите всю инструкцию. Это повышает производительность, избегая ненужных вычислений.

  • Если выражение имеет побочные эффекты, замените левую сторону присваивания на discard (только C#) или на локальную переменную, которая никогда не используется. Это повышает ясность кода, явно показывая намерение отменить неиспользуемое значение.

    _ = Compute();
    

Параметры

Параметры для этого указывают, следует ли использовать отмену или неиспользуемую локальную переменную:

Сведения о настройке формата параметров см. в .

csharp_style_unused_value_expression_statement_preference

Свойство Ценность Описание
имя параметра csharp_style_unused_value_expression_statement_preference
применимые языки C#
значения опций discard_variable Предпочитайте назначать неиспользуемое выражение переменной-пустышке
unused_local_variable Предпочитать назначать неиспользуемое выражение локальной переменной, которая никогда не использовалась
значение параметра по умолчанию discard_variable
// Original code:
System.Convert.ToInt32("35");

// After code fix for IDE0058:

// csharp_style_unused_value_expression_statement_preference = discard_variable
_ = System.Convert.ToInt32("35");

// csharp_style_unused_value_expression_statement_preference = unused_local_variable
var unused = Convert.ToInt32("35");

предпочтение_оператора_выражения_с_неиспользуемым_значением_в_стиле_visual_basic

Собственность Ценность Описание
имя параметра стиль_visual_basic_предпочтение_выражения_с_неиспользуемым_значением_в_операторе
применимые языки Visual Basic
значения опций unused_local_variable Предпочитать назначать неиспользуемое выражение локальной переменной, которая никогда не использовалась
значение параметра по умолчанию unused_local_variable
' visual_basic_style_unused_value_expression_statement_preference = unused_local_variable
Dim unused = Computation()

Подавление предупреждения

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

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

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

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

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

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

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

См. также