Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Usuwanie niepotrzebnego przypisania wartości (IDE0059)

Wybieranie języka kodu
Własność Wartość
identyfikator reguły IDE0059
Tytuł Usuwanie niepotrzebnego przypisania wartości
Kategoria Styl
podkategoria Niepotrzebne reguły kodu (preferencje na poziomie wyrażenia)
obsługiwane języki C# i Visual Basic
opcje csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

Przegląd

Ta reguła flaguje niepotrzebne przypisania wartości. Na przykład:

C#
// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();

Aby naprawić to naruszenie, możesz wykonać jedną z następujących czynności:

  • Jeśli wyrażenie po prawej stronie przypisania nie ma efektów ubocznych, usuń wyrażenie lub całą instrukcję przypisania. Poprawia to wydajność, unikając niepotrzebnych obliczeń.

    C#
    int v = Compute2();
    
  • Jeśli wyrażenie po prawej stronie przypisania ma skutki uboczne, zastąp lewą stronę przypisania odrzucić (tylko C#) lub zmienną lokalną, która nigdy nie jest używana. Odrzucanie poprawia przejrzystość kodu, jawnie pokazując zamiar odrzucenia nieużywanej wartości.

    C#
    _ = Compute();
    int v = Compute2();
    

Opcje

Opcje określają, czy preferować użycie odrzuconej zmiennej, czy nieużywanej zmiennej lokalnej.

Aby uzyskać informacje na temat konfigurowania opcji, zobacz Format opcji.

csharp_style_unused_value_assignment_preference

Własność Wartość Opis
nazwa opcji preferencje_dotyczące_nieużywanego_przypisania_wartości_w_csharp
stosowane języki C#
wartości opcji discard_variable Preferuj użycie odrzucenia podczas przypisywania wartości, która nie jest używana
unused_local_variable Preferuj używanie zmiennej lokalnej podczas przypisywania wartości, która nie jest używana
domyślna wartość opcji discard_variable
C#
// 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_preferencja_przydziału_nieużywanej_wartości_styl

Własność Wartość Opis
nazwa opcji ustawienie_preferencji_nieużywanego_przypisania_wartości_visual_basic
stosowane języki Visual Basic
wartości opcji unused_local_variable Preferuj używanie zmiennej lokalnej podczas przypisywania wartości, która nie jest używana
domyślna wartość opcji unused_local_variable
VB
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()

Pomijanie ostrzeżenia

Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .

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

Aby wyłączyć wszystkie reguły stylu kodu, ustaw poziom istotności kategorii Style na none w pliku konfiguracyjnym .

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.

Własność Wartość
identyfikator reguły IDE0059
Tytuł Wartość jest nieużywana
Kategoria Styl
odpowiednie języki F#
opcje Żaden

Przegląd

Ta reguła flaguje niepotrzebne przypisania wartości. Na przykład answer jest nieużywany w następującym fragmencie kodu:

F#
type T() =
    let answer = 42

Zobacz też