CA1855: Gunakan Rentang<T>. Clear() alih-alih Span<T>. Fill()
Properti | Nilai |
---|---|
ID Aturan | CA1855 |
Judul | Gunakan Span<T>. Clear() alih-alih Span<T>. Fill() |
Golongan | Performa |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Diaktifkan secara default di .NET 8 | Sebagai saran |
Penyebab
Span<T>.Fill(T) dipanggil untuk mengisi elemen rentang dengan nilai default.
Deskripsi aturan
Lebih efisien untuk memanggil Span<T>.Clear() daripada memanggil Span<T>.Fill(T) untuk mengisi elemen rentang dengan nilai default.
Cara memperbaiki pelanggaran
Ganti panggilan ke Span<T>.Fill(T) dengan panggilan ke Span<T>.Clear().
Contoh
Cuplikan kode berikut menunjukkan pelanggaran CA1855:
void M(Span<byte> span)
{
span.Fill(0);
}
Cuplikan kode berikut memperbaiki pelanggaran:
void M(Span<byte> span)
{
span.Clear();
}
Kapan harus menekan peringatan
Aman untuk menekan peringatan ini jika performa tidak menjadi perhatian.
Menyembunyikan peringatan
Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.
#pragma warning disable CA1855
// The code that's violating the rule is on this line.
#pragma warning restore CA1855
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none
dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA1855.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.
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