String format tidak valid (IDE0043)

Property Nilai
ID Aturan IDE0043
Judul Format string tidak valid
Category Style
Subkategori Aturan bahasa (operasi string)
Bahasa yang berlaku C# dan Visual Basic
Opsi Tidak

Ikhtisar

Aturan ini menandai pemanggilan metode pemformatan komposit, seperti String.Format, yang indeks penampungnya dalam string pemformatan merujuk ke argumen yang tidak ada. Misalnya, jika string format berisi {1} tetapi hanya satu argumen yang disediakan (dapat diakses sebagai {0}), aturan menandai placeholder {1}.

Note

Aturan ini mirip dengan aturan kualitas kode CA2241, yang juga memvalidasi argumen string format.

Example

// Code with violations.
// '{1}' is out of range — only one argument is provided.
string s = string.Format("Hello, {0}! You have {1} messages.", "Alice");

// Fixed code.
string s = string.Format("Hello, {0}! You have {1} messages.", "Alice", 5);
' Code with violations.
' '{1}' is out of range — only one argument is provided.
Dim s As String = String.Format("Hello, {0}! You have {1} messages.", "Alice")

' Fixed code.
Dim s As String = String.Format("Hello, {0}! You have {1} messages.", "Alice", 5)

Menyembunyikan peringatan

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

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

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

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

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

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

Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.

Baca juga