Khi tôi có IEnumerable<SomeClass>
từ đó tôi không biết wheter danh sách của nó hay không (theo điều khoản của List<T>
), và tôi phải liệt kê IEnumerable
để đảm bảo rằng tôi không liệt kê số đếm hai lần (chẳng hạn như lặp qua nó hai lần, hoặc một cái gì đó như thế).Đang truyền sang IList và sau đó gọi ToList() khi null tốt hơn so với ToList đơn giản()?
Resharper cảnh báo tôi về nhiều liệt kê có thể có của IEnumerable - đó là tốt, đôi khi bạn quên nó - và cho phép bạn chọn quickfixes:
- liệt kê vào mảng
- liệt kê vào danh sách
Khi tôi chọn Liệt kê để liệt kê, hãy chia sẻ lại giới thiệu một biến cục bộ và gán cho IEnumerable theo cách sau (ví dụ):
var enumeratedItems = items as IList<SomeClass> ?? items.ToList();
Bây giờ câu hỏi của tôi là:
Tại sao nó không đơn giản là làm items.ToList();
?
Ưu điểm của việc cố gắng truyền tới IList<SomeClass>
trước tiên là gì?
Ồ tôi hiểu, rất có ý nghĩa! Cảm ơn bạn :) – Mafii