Bagikan melalui


CA1514: Hindari argumen panjang berlebihan

Properti Nilai
ID Aturan CA1514
Judul Hindari argumen panjang redundan
Golongan Kemampu
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif
Diaktifkan secara default di .NET 8 Sebagai saran

Penyebab

Argumen panjang redundan diteruskan ke String.Substring, Span<T>.Slice, ReadOnlySpan<T>.Slice, atau Memory<T>.Slice saat mengiris ke akhir string atau buffer.

Deskripsi aturan

Argumen panjang yang dihitung secara eksplisit dapat rentan terhadap kesalahan dan tidak perlu saat Anda mengiris ke akhir string atau buffer.

Kode yang menghilangkan argumen panjang lebih mudah dibaca dan dipertahankan.

Cara memperbaiki pelanggaran

Hapus argumen panjang.

Contoh

Cuplikan kode berikut menunjukkan pelanggaran CA1514:

string message = "Hello World!";
string world = message.Substring(6, message.Length - 6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6, message.Length - 6) ' "World!"

Cuplikan kode berikut memperbaiki pelanggaran:

string message = "Hello World!";
string world = message.Substring(6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6) ' "World!"

Kapan harus menekan peringatan

Aman untuk menyembunyikan pelanggaran aturan ini jika Anda tidak khawatir tentang pemeliharaan kode Anda.

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 CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514

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

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

Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.