Bagikan melalui


Menggunakan pencocokan pola (IDE0078 dan IDE0260)

Artikel ini menjelaskan dua aturan terkait, IDE0078 dan IDE0260.

Properti Nilai
ID Aturan IDE0078
Judul Menggunakan pencocokan pola
Golongan Gaya
Subkategori Aturan bahasa (preferensi pencocokan pola)
Bahasa pemrogram yang berlaku C# 9.0+
Opsi csharp_style_prefer_pattern_matching
Properti Nilai
ID Aturan IDE0260
Judul Menggunakan pencocokan pola
Golongan Gaya
Subkategori Aturan bahasa (preferensi pencocokan pola)
Bahasa pemrogram yang berlaku C#
Opsi csharp_style_pattern_matching_over_as_with_null_check

Gambaran Umum

Aturan gaya ini menyangkut penggunaan konstruksi pencocokan pola C#.

IDE0260 secara khusus menandai penggunaan as ekspresi diikuti oleh anggota yang dibaca melalui operator null-conditional. Aturan ini mirip dengan IDE0019, yang menandai penggunaan as ekspresi diikuti dengan null pemeriksaan.

Opsi

Opsi menentukan perilaku yang Anda inginkan untuk diberlakukan aturan. Untuk informasi tentang mengonfigurasi opsi, lihat Format opsi.

csharp_style_prefer_pattern_matching (IDE0078)

Properti Nilai Deskripsi
Nama opsi csharp_style_prefer_pattern_matching
Nilai opsi true Lebih suka menggunakan konstruksi pencocokan pola, jika memungkinkan
false Lebih suka tidak menggunakan konstruksi pencocokan pola.
Nilai opsi default true

csharp_style_pattern_matching_over_as_with_null_check (IDE0260)

Opsi ini juga mengonfigurasi aturan IDE0019.

Properti Nilai Deskripsi
Nama opsi csharp_style_pattern_matching_over_as_with_null_check
Nilai opsi true Lebih suka pencocokan pola daripada as ekspresi dengan akses anggota bersyar-null.
false Menonaktifkan aturan.
Nilai opsi default true

Contoh

IDE0078

// csharp_style_prefer_pattern_matching = true
var x = i is default(int) or > (default(int));
var y = o is not C c;

// csharp_style_prefer_pattern_matching = false
var x = i == default || i > default(int);
var y = !(o is C c);

IDE0260

// Code with violations.
object? o = null;
if ((o as string)?.Length == 0)
{
}

// Fixed code (csharp_style_pattern_matching_over_as_with_null_check = true).
object? o = null;
if (o is string { Length: 0 })
{
}

Menyembunyikan peringatan

Jika Anda hanya ingin menekan satu pelanggaran, tambahkan arahan prapemroseduran ke file sumber Anda untuk menonaktifkan lalu mengaktifkan kembali aturan.

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

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

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

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

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

Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.

Baca juga