Which of the following interfaces is implemented by the
LinkedList<T> class?Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "IEnumerable<T>". Trong .NET, LinkedList<T> thuộc System.Collections.Generic là danh sách liên kết đôi, mỗi nút LinkedListNode<T> trỏ tới nút trước và nút sau; lớp này cài đặt ICollection<T>, IReadOnlyCollection<T> và IEnumerable<T>, nhờ IEnumerable<T> mà ta duyệt được nó bằng foreach và dùng được LINQ. "IList<T>" sai vì giao diện này đòi truy cập theo chỉ số như list[i], Insert và RemoveAt tại vị trí; danh sách liên kết muốn tới phần tử thứ i phải đi lần từ đầu, nên .NET cố ý không cho LinkedList<T> cài IList<T>, thay vào đó là AddFirst, AddLast, AddBefore, AddAfter. "ISet<T>"là giao diện của tập hợp không cho phần tử trùng, như HashSet<T> hay SortedSet<T>, trong khi danh sách liên kết chứa trùng thoải mái. "IDictionary<TKey, TValue>" dành cho cấu trúc ánh xạ khoá sang giá trị như Dictionary<TKey, TValue>, không phải một dãy phần tử có thứ tự như
LinkedList<T>.