Bir yöntemim olduğunu varsayalım
public List<User> GetBatchOfUsers(IEnumerable<int> userIDs)
{
List<User> users = new List<User>();
// some database stuff
return users;
}
Ben bir dönüm yerine (ya IList
da IEnumerable
) bir arayüz dönmek daha iyi olacağını okudum List
. Bunu yapmak için duyduğum bazı argümanlar, verileri gizlemesidir ve API geliştiricisine, daha sonraki bir tarihte verilerin dahili sunumunu değiştirme esnekliği kazandırır.
Sadece geri dönmekle ilgili endişem IEnumerable
, rasgele erişim ve Count
özellik gibi işlevselliği kaybetmenizdir .
IEnumerable
Bir parametrenin kabul edilmesinin mantıklı olduğunu biliyorum , çünkü tüketiciye yöntemime veri göndermek için en iyi esnekliği, yöntemin çalışması için minimalist gereksinim kümesini verir.
Dönüş türü için en iyi uygulama hangisidir?