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


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

Tulajdonság Érték
Szabályazonosító IDE0120
Cím 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)
Alkalmazandó 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 meghívják Enumerable.Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) őket, és az alábbi módszerek egyikét követik:

Az ilyen kifejezések leegyszerűsíthetők úgy, hogy eltávolítják a hívásátWhere<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>), és ehelyett meghívják a , , Count(), FirstOrDefault()First(), Last(), , LastOrDefault(), SingletúlterhelésétAny(), vagy SingleOrDefault() elfogadnak 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ói 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 a 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 a kategória Style súlyosságát none a konfigurációs fájlban.

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

További információ: Kódelemzési figyelmeztetések mellőzése.

Lásd még