Udostępnij za pośrednictwem


Usuwanie niepotrzebnego przypisania wartości (IDE0059)

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:

// 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ń.

    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.

    _ = 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
// 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
' 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łę.

#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 .

[*.{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 .

[*.{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:

type T() =
    let answer = 42

Zobacz też