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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk