Удалите ненужное значение выражения (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();
Варианты
Параметры для этого указывают, следует ли использовать удаленную или неиспользуемую локальную переменную:
- C# — csharp_style_unused_value_expression_statement_preference
- Visual Basic — visual_basic_style_unused_value_expression_statement_preference
Сведения о настройке параметров см. в разделе Формат параметра.
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
Чтобы отключить все правила в стиле кода, задайте серьезность для категории Style
none
в файле конфигурации.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.