Vấn đề: nhiều bạn viết code thường trả về kiểu List Có lẽ là vì kiểu List có thể làm được mọi thứ nhanh chóng dễ dàng. Nhưng khi dùng tool như Resharper, có thể thấy rằng Reshaper khuyến nghị chúng ta nên trả về IEnumerable. Tại sao lại như vậy?
Giải thích: 1 nguyên tắc khi thiết lập Interface, đó là trả về most restricted type, vì vậy luôn trả về kiểu List là 1 thói quen xấu và tùy tiện. Trả về IEnumerable có 2 lợi ích:
- Ngăn chặn những thao tác chỉnh sửa lên read-only collection, ví như khi ta trả về tập hợp với mục đích hiển thị, nhưng sau đó lại cố gắng add thêm item vào, trình biên dịch sẽ báo động cho chúng ta về lỗi tư duy này ngay lập tức
- Không bị giới hạn size như với Array