Устранение ненужных присвоений значений (IDE0059)
Свойство | Ценность |
---|---|
идентификатор правила | IDE0059 |
Заголовок | Удаление ненужного присвоения значений |
Категория | Стиль |
подкатегории | Ненужные правила кода (предпочтения уровня выражения) |
применимые языки | C# и Visual Basic |
Параметры | csharp_style_unused_value_assignment_preference |
visual_basic_style_unused_value_assignment_preference |
Обзор
Это правило помечает ненужные назначения значений. Например:
// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();
Чтобы устранить это нарушение, выполните одно из следующих действий:
Если выражение справа от назначения не имеет побочных эффектов, удалите выражение или всю инструкцию назначения. Это повышает производительность, избегая ненужных вычислений.
int v = Compute2();
Если выражение справа от присваивания имеет побочные эффекты, замените левую часть присваивания на отбрасывание (только C#) или на локальную переменную, которая никогда не используется. Отбрасывание улучшает ясность кода, явно показывая намерение избавиться от неиспользуемого значения.
_ = Compute(); int v = Compute2();
Параметры
Параметры для этого указывают, следует ли предпочесть использование отбрасывания или неиспользуемой локальной переменной.
- C# — csharp_style_unused_value_assignment_preference
- Visual Basic — visual_basic_style_unused_value_assignment_preference
Сведения о настройке параметров см. в разделе Формат опций.
csharp_style_unused_value_assignment_preference
Свойство | Ценность | Описание |
---|---|---|
название параметра | стиль_присвоения_неиспользуемых_значений_в_csharp | |
применимые языки | C# | |
значения опций | discard_variable |
Предпочтительно использовать переменную-отброс при присвоении значения, которое не используется. |
unused_local_variable |
Предпочитать использовать локальную переменную при назначении значения, которое не используется | |
значение параметра по умолчанию | discard_variable |
// csharp_style_unused_value_assignment_preference = discard_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
_ = wordCount.TryGetValue(searchWord, out var count);
return count;
}
// csharp_style_unused_value_assignment_preference = unused_local_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
var unused = wordCount.TryGetValue(searchWord, out var count);
return count;
}
стиль_visual_basic_предпочтение_присваивания_неиспользуемого_значения
Свойство | Ценность | Описание |
---|---|---|
название параметра | visual_basic_style_unused_value_assignment_preference | |
применимые языки | Visual Basic | |
значения опций | unused_local_variable |
Предпочитать использовать локальную переменную при назначении значения, которое не используется |
значение параметра по умолчанию | unused_local_variable |
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()
Подавление предупреждения
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable IDE0059
// The code that's violating the rule is on this line.
#pragma warning restore IDE0059
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none
в файле конфигурации .
[*.{cs,vb}]
dotnet_diagnostic.IDE0059.severity = none
Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Style
, чтобы none
в файле конфигурации .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
Свойство | Ценность |
---|---|
Идентификатор правила | IDE0059 |
Заголовок | Значение не используется |
Категория | Стиль |
применимые языки | F# |
Опции | Нет |
Обзор
Это правило помечает ненужные назначения значений. Например, answer
не используется в следующем фрагменте кода:
type T() =
let answer = 42
См. также
- Удалить неиспользуемое значение выражения (IDE0058)
- Справочник по правилам стиля кода