Rumah >pembangunan bahagian belakang >C++ >Bolehkah Kelas Tanpa Nama Disimpan dalam Senarai Generik C#?
Kelas Tanpa Nama dalam Senarai Generik
Dalam C# 3.0, anda mempunyai fleksibiliti untuk mentakrifkan kelas tanpa nama menggunakan sintaks:
var o = new { Id = 1, Name = "Foo" };
Persoalan biasa timbul sama ada mungkin untuk menyimpan kelas tanpa nama ini dalam senarai generik. Mari kita teroka isu ini.
Pertimbangkan contoh berikut:
var o = new { Id = 1, Name = "Foo" }; var o1 = new { Id = 2, Name = "Bar" }; List list = new List(); list.Add(o); list.Add(o1);
Senario alternatif melibatkan penambahan kelas tanpa nama dalam gelung:
List<var> list = new List<var>(); while (...) { .... list.Add(new { Id = x, Name = y }); .... }
Penyelesaian:
Untuk menyelesaikan masalah ini, anda boleh menggunakan pendekatan seperti:
var list = new[] { o, o1 }.ToList();
Sebagai alternatif, anda boleh menggunakan inferens jenis menggunakan kaedah generik:
public static List<T> CreateList<T>(params T[] elements) { return new List<T>(elements); } var list = CreateList(o, o1);
Melaksanakan teknik ini membolehkan anda mengurus kelas tanpa nama dengan berkesan dalam senarai generik.
Atas ialah kandungan terperinci Bolehkah Kelas Tanpa Nama Disimpan dalam Senarai Generik C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!