Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
| Свойство | Ценность |
|---|---|
| идентификатор правила | 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)
- Справочник по правилам стиля кода