Bagikan melalui


Menyederhanakan ekspresi LINQ (IDE0120)

Harta benda Nilai
ID Aturan IDE0120
Judul Menyederhanakan ekspresi LINQ
Kategori Gaya
Subkategori Aturan kode yang tidak perlu (preferensi tingkat ekspresi)
bahasa yang berlaku C# dan Visual Basic

Ikhtisar

Aturan ini menandai ekspresi LINQ yang terlalu kompleks, khususnya ekspresi yang memanggil Enumerable.Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) diikuti oleh salah satu metode berikut:

Ekspresi tersebut dapat disederhanakan dengan menghapus panggilan ke Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) dan sebaliknya memanggil overload Any(), Count(), First(), FirstOrDefault(), Last(), LastOrDefault(), Single, atau SingleOrDefault() yang menerima fungsi predikat untuk memfilter elemen.

Pilihan

Aturan ini tidak memiliki opsi gaya kode terkait.

Contoh

// 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"));

Menyembunyikan peringatan

Jika Anda ingin hanya menonaktifkan satu pelanggaran, tambahkan direktif prapemroses ke file sumber Anda untuk menonaktifkan dan kemudian mengaktifkan kembali aturan tersebut.

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

Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi .

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

Untuk menonaktifkan semua aturan gaya kode, atur tingkat keparahan untuk kategori Style ke none dalam file konfigurasi .

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

Untuk informasi selengkapnya, lihat Cara menekan peringatan analisis kode.

Lihat juga