Saya membuat kamus dalam file C # dengan kode berikut:
private readonly Dictionary<string, XlFileFormat> FILE_TYPE_DICT
= new Dictionary<string, XlFileFormat>
{
{"csv", XlFileFormat.xlCSV},
{"html", XlFileFormat.xlHtml}
};
Ada garis merah di bawah new
dengan kesalahan:
Fitur 'koleksi initilializer' tidak dapat digunakan karena ini bukan bagian dari spesifikasi bahasa ISO-2 C #
Adakah yang bisa menjelaskan apa yang terjadi di sini?
EDIT: oke, ternyata saya menggunakan .NET versi 2.
c#
dictionary
azrosen92
sumber
sumber
.cs
file yang akan dikompilasi oleh Visual Studio, atau dalam.cshtml
? Apakah file proyeklanguageVersion
Anda memiliki elemen ?Jawaban:
Saya tidak dapat mereproduksi masalah ini dalam aplikasi konsol .NET 4.0 sederhana:
Bisakah Anda mencoba mereproduksi dalam aplikasi Konsol sederhana dan pergi dari sana? Tampaknya Anda menargetkan .NET 2.0 (yang tidak mendukungnya) atau kerangka kerja profil klien, daripada versi .NET yang mendukung sintaks inisialisasi.
sumber
Dengan C # 6.0, Anda dapat membuat kamus dengan cara berikut:
Ia bahkan bekerja dengan tipe kustom.
sumber
Anda dapat menginisialisasi
Dictionary
(dan koleksi lainnya) sebaris. Setiap anggota berisi kawat gigi:Lihat MSDN untuk detailnya.
sumber
Misalkan kita memiliki kamus seperti ini
Kita dapat menginisialisasi sebagai berikut.
sumber
Inisialisasi objek diperkenalkan di C # 3.0, periksa versi kerangka mana yang Anda targetkan.
Ikhtisar C # 3.0
sumber
dengan c # 6.0
sumber