Rumah > pembangunan bahagian belakang > C++ > Bolehkah Kelas Tanpa Nama Disimpan dalam Senarai Generik C#?

Bolehkah Kelas Tanpa Nama Disimpan dalam Senarai Generik C#?

Patricia Arquette
Lepaskan: 2025-01-04 12:19:36
asal
936 orang telah melayarinya

Can Anonymous Classes Be Stored in C# Generic Lists?

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" };
Salin selepas log masuk

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);
Salin selepas log masuk

Senario alternatif melibatkan penambahan kelas tanpa nama dalam gelung:

List<var> list = new List<var>();

while (...)
{
    ....
    list.Add(new { Id = x, Name = y });
    ....
}
Salin selepas log masuk

Penyelesaian:

Untuk menyelesaikan masalah ini, anda boleh menggunakan pendekatan seperti:

var list = new[] { o, o1 }.ToList();
Salin selepas log masuk

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);
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan