Bagikan melalui


Menggunakan ekspresi koleksi untuk stackalloc (IDE0302)

Properti Nilai
ID Aturan IDE0302
Judul Menggunakan ekspresi koleksi untuk stackalloc
Golongan Gaya
Subkategori Aturan bahasa (preferensi tingkat ekspresi)
Bahasa pemrogram yang berlaku C# 12+
Opsi dotnet_style_prefer_collection_expression

Gambaran Umum

Aturan ini mirip dengan Gunakan ekspresi koleksi untuk array (IDE0300) kecuali dicari stackalloc alih-alih array. Seperti IDE0300, ia menawarkan untuk mengonversi kode untuk menggunakan ekspresi koleksi. Misalnya, stackalloc int[] { ... } dan stackalloc [] { ... } disederhanakan ke [...].

Catatan

Aturan ini hanya tersedia di .NET 8 dan versi yang lebih baru di mana nilai dapat dipertahankan pada tumpukan.

Opsi

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

dotnet_style_prefer_collection_expression

Properti Nilai Deskripsi
Nama opsi dotnet_style_prefer_collection_expression
Nilai opsi true | when_types_exactly_match Lebih suka menggunakan ekspresi koleksi.
false | never Menonaktifkan aturan.
Nilai opsi default true

Contoh

// Code with violations.
ReadOnlySpan<int> x = stackalloc int[] { 1, 2, 3 };

// Fixed code.
ReadOnlySpan<int> x = [1, 2, 3];

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

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

[*.{cs,vb}]
dotnet_diagnostic.IDE0302.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