Sự khác biệt chính giữa List và IList trong C # là List là một lớp đại diện cho danh sách các đối tượng có thể được truy cập bằng chỉ mục trong khi IList là một giao diện đại diện cho một tập hợp các đối tượng có thể được truy cập bằng chỉ mục. Giao diện IList được triển khai từ hai giao diện và chúng là ICollection và IEnumerable.
Danh sách và IList được sử dụng để biểu thị một tập hợp các đối tượng. Chúng có thể lưu trữ các đối tượng dạng số nguyên, chuỗi,… Có các phương pháp chèn, loại bỏ phần tử, tìm kiếm và sắp xếp các phần tử của một List hoặc IList. Sự khác biệt chính giữa List và IList là List là một lớp cụ thể và IList là một giao diện. Nhìn chung, Danh sách là một kiểu cụ thể triển khai giao diện IList.
Ví dụ 1
using System; using System.Collections.Generic; namespace DemoApplication{ class Demo{ static void Main(string[] args){ IList<string> ilist = new IList<string>(); //This will throw error as we cannot create instance for an IList as it is an interface. ilist.Add("Mark"); ilist.Add("John"); foreach (string list in ilist){ Console.WriteLine(list); } } } }
Ví dụ 2
using System; using System.Collections.Generic; namespace DemoApplication{ class Demo{ static void Main(string[] args){ IList<string> ilist = new List<string>(); ilist.Add("Mark"); ilist.Add("John"); List<string> list = new List<string>(); ilist.Add("Mark"); ilist.Add("John"); foreach (string lst in ilist){ Console.WriteLine(lst); } foreach (string lst in list){ Console.WriteLine(lst); } Console.ReadLine(); } } }
Đầu ra
Đầu ra của đoạn mã trên là
Mark John Mark John