Megosztás a következőn keresztül:


Szükségtelen érték hozzárendelésének eltávolítása (IDE0059)

Ingatlan Érték
szabályazonosító IDE0059
cím Felesleges érték hozzárendelésének eltávolítása
kategória Stílus
Alkategória Szükségtelen kódszabályok (kifejezésszintű beállítások)
Alkalmazható nyelvek C# és Visual Basic
Beállítások csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

Áttekintés

Ez a szabály szükségtelen érték-hozzárendeléseket jelöl. Például:

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

A szabálysértés kijavításához hajtsa végre az alábbi műveletek egyikét:

  • Ha a hozzárendelés jobb oldalán lévő kifejezésnek nincsenek mellékhatásai, távolítsa el a kifejezést vagy a teljes hozzárendelést. Ez a szükségtelen számítások elkerülésével javítja a teljesítményt.

    int v = Compute2();
    
  • Ha a hozzárendelés jobb oldalán lévő kifejezésnek vannak mellékhatásai, cserélje le a hozzárendelés bal oldalát egy elvetett (csak C# esetén) vagy egy soha nem használt helyi változóra. Az elvetések a nem használt értékek elvetésére vonatkozó szándék explicit megjelenítésével javítják a kód egyértelműségét.

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

Beállítások

Ennek beállításai határozzák meg, hogy előnyben részesítse-e az elvetés vagy a nem használt helyi változó használatát:

További információ a beállítások konfigurálásáról: Beállításformátum.

Ha az angol szakkifejezés teljes mértékben helytálló és elterjedt a magyar nyelvű szakirodalomban is, a változtatásra nincs szükség.

Ingatlan Érték Leírás
beállításnév csharp_style_unused_value_assignment_preference
Alkalmazható nyelvek C#
beállításértékek discard_variable Inkább elvetést használjon, ha nem használt értéket rendel hozzá
unused_local_variable Inkább helyi változót használjon, ha nem használt értéket rendel hozzá
alapértelmezett beállításérték 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_style_unused_value_assignment_preference

Ingatlan Érték Leírás
beállításnév visual_basic_stílus_nem_használt_érték_hozzárendelési_preferencia
Alkalmazható nyelvek Visual Basic
beállításértékek unused_local_variable Inkább helyi változót használjon, ha nem használt értéket rendel hozzá
alapértelmezett beállításérték unused_local_variable
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

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

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

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

Az összes kódstílus-szabály letiltásához állítsa be a Style kategória súlyosságát none-re a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések letiltása.

Ingatlan Érték
szabályazonosító IDE0059
cím Az érték nincs használatban
kategória Stílus
Alkalmazható nyelvek F#
Beállítások Egyik sem

Áttekintés

Ez a szabály szükségtelen érték-hozzárendeléseket jelöl. Például a answer nincs használva a következő kódrészletben:

type T() =
    let answer = 42

Lásd még: