Sự khác biệt giữa List,IList, IEnumerable trong lập trình C#

Trong lập trình C# việc sử dụng danh sách bao gồm tập các dữ liệu từ dạng đơn giản đến phức tạp để lưu trữ thông tin là rất lớn.

Trong bài viết này sẽ đề cập sự khác biệt giữa các kiểu làm việc với danh sách:

1. List
2. IList
3. IEnumerable





Sau đây là đặc điểm và cách thức sử dụng của các kiểu trong C#:

- IEnumerable<T>: Là một lớp giao diện có thể cho lớp khác kế thừa hoặc cài đặt từ nó. Nó không cho phép truy xuất trực tiếp và chỉ được phép đọc (readonly). Trong trường hợp lấy về một danh sách đọc để hiển thị mà không có nhu cầu làm thay đổi dữ liệu đó, đặc biệt sử dụng foreach thì người ta có thể sử dụng IEnumberable.

- ICollection<T> kế thừa từ IEnumerable<T> nhưng nó cho phép thêm (add), xóa (remove) khi thao tác với tập sử dụng nó. ICollection cũng không cho phép truy xuất trực tiếp phần tử thông qua chỉ số (index).


Tags: