IEnumerable
: Kaedah Sambungan ForEach
Yang HilangTidak seperti kebanyakan bahasa lain, Rangka Kerja .NET secara mengejutkan meninggalkan ForEach
kaedah sambungan untuk IEnumerable
. Ketiadaan ini sering menimbulkan persoalan, dengan kebimbangan prestasi sering disebut sebagai sebab yang berpotensi.
Penyataan foreach
terbina dalam C# sudah mengendalikan kebanyakan keperluan lelaran dengan berkesan. Menambah kaedah sambungan ForEach
akan menjadi berlebihan.
Selain itu, kebolehbacaan pernyataan foreach
secara amnya melebihi panggilan kaedah ForEach()
:
<code class="language-csharp">// Using ForEach() extension method list.ForEach(item => item.DoSomething()); // Using foreach statement foreach (var item in list) { item.DoSomething(); }</code>
Walaupun foreach
memerlukan lebih banyak ketukan kekunci, kejelasannya selalunya menang.
Perbualan terbaharu telah menyerlahkan potensi manfaat daripada ForEach()
kaedah sambungan:
ForEach()
menyediakan semakan jenis masa kompilasi, tidak seperti semakan masa jalan foreach
.ForEach()
, dicontohkan oleh objects.ForEach(DoSomething)
.ForEach()
membolehkan rantaian kaedah.Kelebihan ini mencadangkan bahawa kaedah ForEach()
piawai boleh menjadi tambahan yang berharga kepada versi .NET masa hadapan.
Atas ialah kandungan terperinci Mengapa .NET's `IEnumerable` Tidak Mempunyai Kaedah Sambungan `ForEach`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!