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

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

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

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

  • Если выражение имеет побочные эффекты, замените левую часть назначения на отмену (только 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_style_unused_value_expression_statement_preference

Свойство. Значение Описание
Имя параметра visual_basic_style_unused_value_expression_statement_preference
Применимые языки 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

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

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

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

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