2010-05-21 43 views
5

Tôi cần phải thay đổi một phương thức có một thông số lấy một chuỗi các đối tượng. Tôi cần tìm Giao diện thấp nhất (trong cây thừa kế) có thuộc tính Đếm. Cho đến bây giờ tôi đã sử dụng IEnumerable nhưng vì điều này không Count Tôi cần phải thay đổi nó sang giao diện rộng hơn có thể để phương pháp có thể làm việc với số lượng lớn nhất của các loại loạt (bộ sưu tập, danh sách, mảng, vv).Giao diện tối thiểu có thuộc tính Đếm trong .Net

Xin cảm ơn trước.

Trả lời

6

ICollection thêm thuộc tính Count.

Là @Joren điểm đúng, IEnumerable<T> có phương pháp mở rộng Count<T>() nếu bạn hài lòng khi thu thập chung bộ sưu tập của mình. Tuy nhiên, như @Joel Coehoorn đã chỉ ra, nó là không thể chấp nhận để sử dụng điều này vì nó buộc một sự lặp lại của trình tự.

+0

Đó là thấp nhất ở cây phân cấp? –

+3

Phương pháp Đếm là một phương pháp mở rộng trên IEnumerable , không phải là phương pháp trên ICollection . (ICollection chỉ có thuộc tính Đếm, mà nó kế thừa từ ICollection.) Tất nhiên ICollection kế thừa từ IEnumerable , do đó, phương pháp mở rộng là hợp lệ trên trường hợp ICollection . Quan điểm của tôi là đối với phương thức Count , IEnumerable là cơ bản hơn ICollection . – Joren

+0

Ah, cảm ơn @ Joren. Tôi sẽ sửa đổi câu trả lời. –

Các vấn đề liên quan