Menavigasi Berbilang Amaran Penghitungan Apabila Menggunakan IEnumerable
Cabaran:
Bekerja dengan IEnumerable memerlukan pertimbangan potensi berbilang penghitungan. Dalam senario tertentu, ini boleh mencetuskan amaran ReSharper "Kemungkinan pengiraan berbilang IEnumerable."
Penyelesaian Kemungkinan:
Menukar parameter kepada jenis Senarai mengetepikan amaran tetapi boleh menyekat akses kepada objek tertentu. Menukar IEnumerable kepada Senarai pada permulaan kaedah menyelesaikan isu tetapi memperkenalkan persepsi kejanggalan.
Pendekatan Disyorkan:
Kebimbangan utama menggunakan IEnumerable sebagai parameter berpunca daripada kekaburannya mengenai bilangan penghitungan yang dimaksudkan. Mengubah suai tandatangan kaedah untuk menentukan IList atau ICollection menjelaskan jangkaan untuk pemanggil dan menghalang kesilapan yang mahal.
Sebagai alternatif, melakukan penukaran .ToList() pada permulaan kaedah mungkin sesuai jika menggunakan IEnumerable adalah penting. Walau bagaimanapun, pendekatan ini mungkin kurang cekap daripada menentukan jenis parameter yang lebih ketat.
Pertimbangan Tambahan:
Penyelesaian yang ideal akan melibatkan antara muka yang menggabungkan kefungsian IEnumerable , Count dan Indexer tetapi tidak termasuk kaedah mutasi. Malangnya, antara muka sebegitu pada masa ini tidak wujud dalam .NET, membolehkan kami mempertimbangkan kebaikan dan keburukan setiap pendekatan berdasarkan keperluan penggunaan tertentu.
Atas ialah kandungan terperinci IEnumerable atau IList: Bagaimana untuk Mengelakkan Amaran Penghitungan Berbilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!