Pertanyaan Mengapa IList tidak mendukung AddRange


List.AddRange() ada, tapi IList.AddRange() tidak.
Ini mengejutkan saya. Apa alasan dibalik semua ini?


75
2017-07-18 09:27


asal


Jawaban:


Karena antarmuka harus mudah diimplementasikan dan tidak berisi "semua kecuali dapur". Jika Anda menambahkan AddRange Anda kemudian harus menambahkan InsertRange dan RemoveRange (untuk simetri). Pertanyaan yang lebih baik akan mengapa tidak ada metode penyuluhan untuk IList<T> antarmuka yang mirip dengan IEnumerable<T> antarmuka. (metode ekstensi untuk di tempat Sort, BinarySearch, ... akan berguna)


59
2017-07-18 09:37