Misalkan saya punya metode
public List<User> GetBatchOfUsers(IEnumerable<int> userIDs)
{
List<User> users = new List<User>();
// some database stuff
return users;
}
Saya telah membaca bahwa akan lebih baik untuk mengembalikan antarmuka (baik IListatau IEnumerable) daripada mengembalikan List. Beberapa argumen yang saya dengar untuk melakukannya adalah menyembunyikan data, dan memberikan pengembang API fleksibilitas untuk mengubah representasi internal data di kemudian hari.
Kekhawatiran saya hanya mengembalikan sebuah IEnumerableadalah bahwa Anda kehilangan fungsionalitas, seperti akses acak dan Countproperti.
Saya tahu bahwa menerima IEnumerablesebagai parameter masuk akal, karena memberikan konsumen fleksibilitas terbaik untuk mengirim data ke metode saya, persyaratan minimal untuk metode untuk beroperasi.
Apa praktik terbaik untuk tipe pengembalian?