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


LINQ-kifejezés egyszerűsítése (IDE0120)

Ingatlan Érték
szabályazonosító IDE0120
cím A LINQ-kifejezés egyszerűsítése
kategória Stílus
alkategória Szükségtelen kódszabályok (kifejezésszintű beállítások)
Alkalmazható nyelvek C# és Visual Basic

Áttekintés

Ez a szabály túlságosan összetett LINQ-kifejezéseket jelöl, különösen azokat a kifejezéseket, amelyek Enumerable.Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) hívnak meg, és az alábbi módszerek egyikét követik:

Az ilyen kifejezések egyszerűsíthetők úgy, hogy kihagyják a Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) hívását, és ehelyett a Any(), Count(), First(), FirstOrDefault(), Last(), LastOrDefault(), Singlevagy SingleOrDefault() olyan változatát hívják meg, amely elfogad egy predikátumfüggvényt az elemek szűréséhez.

Beállítások

Ez a szabály nem rendelkezik társított kódstílus-beállításokkal.

Példa

// Code with violations.
IEnumerable<string> words = new List<string> { "hello", "world", "!" };
var result = words.Where(x => x.Equals("hello")).Any();

// Fixed code.
IEnumerable<string> words = new List<string> { "hello", "world", "!" };
var result = words.Any(x => x.Equals("hello"));

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 IDE0120
// The code that's violating the rule is on this line.
#pragma warning restore IDE0120

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

Lásd még: