Menukar Jadual Data kepada Senarai Generik dalam C#
Beberapa kaedah wujud untuk menukar DataTable kepada senarai generik dalam C#. Pendekatan biasa melibatkan mengulang setiap baris dan menambahkannya pada senarai.
<code class="language-C#">DataTable dt = CreateDataTableInSomeWay(); List<DataRow> list = new List<DataRow>(); foreach (DataRow dr in dt.Rows) { list.Add(dr); }</code>
Kaedah yang Lebih Cekap: Kaedah Sambungan
.NET 3.5 dan versi yang lebih baru menawarkan penyelesaian yang lebih cekap menggunakan kaedah sambungan daripada kelas DataTableExtensions
. Kaedah AsEnumerable()
mengubah Jadual Data menjadi IEnumerable<DataRow>
, yang kemudiannya boleh ditukar dengan mudah kepada List<DataRow>
menggunakan ToList()
.
<code class="language-C#">IEnumerable<DataRow> sequence = dt.AsEnumerable(); // Or, more directly: using System.Linq; ... List<DataRow> list = dt.AsEnumerable().ToList();</code>
Pendekatan berasaskan LINQ ini mengelakkan gelung eksplisit, menghasilkan kod yang lebih bersih dan berkemungkinan lebih pantas.
Analisis Prestasi
Apabila memilih kaedah penukaran, prestasi adalah penting. Lelaran baris demi baris boleh menjadi perlahan dengan Jadual Data yang besar. Gabungan kaedah AsEnumerable()
dan ToList()
secara amnya menawarkan prestasi unggul kerana pelaksanaannya yang dioptimumkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Jadual Data dengan Cekap kepada Senarai Generik dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!