Sự khác biệt giữa các interface: IQueryable, ICollection, IList và IDictionary là gì?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
473 lượt xem
C#/.Net master

Tất cả các interface này đều kế thừa từ IEnumerable. Về cơ bản, interface đó cho phép bạn sử dụng lớp trong một câu lệnh foreach (trong C#).

  • ICollection là interface cơ bản nhất trong số các interface đã liệt kê ở trên. ICollection là một interface có hỗ trợ Count.
  • IList là tất cả mọi thứ của ICollection, nhưng nó cũng hỗ trợ thêm và xóa các mục, truy xuất các mục bằng chỉ mục, v.v. Đây là interface được sử dụng phổ biến nhất cho "danh sách các đối tượng".
  • IQueryable là một interface có hỗ trợ LINQ. Bạn luôn có thể tạo IQueryable từ IList và sử dụng LINQ to Objects, nhưng bạn cũng thấy IQueryable được sử dụng cho deferred execution của các câu lệnh SQL trong LINQ to SQL và LINQ to Entities.
  • IDictionary là một interface khác theo nghĩa nó là một ánh xạ các khóa duy nhất đến các giá trị. Nó cũng là enumerable ở chỗ bạn có thể liệt kê các cặp khóa / giá trị, và nó phục vụ một mục đích khác với các interface liệt kê trên.
{{login.error}}