Làm cách nào để kiểm tra đối tượng từ điển chung để xem liệu nó có trống không? Tôi muốn chạy một số mã như sau:Làm cách nào để kiểm tra bộ sưu tập generic.dictionary trống?
while (reportGraphs.MoveNext())
{
reportGraph = (ReportGraph)reportGraphs.Current.Value;
report.ContainsGraphs = true;
break;
}
Đối tượng reportGraph là loại System.Collections.Generic.Dictionary Khi chạy đoạn mã này sau đó điển reportGraphs trống và MoveNext() ngay lập tức ném một NullReferenceException. Tôi không muốn đặt một thử-catch xung quanh khối nếu có một cách performant hơn xử lý các bộ sưu tập sản phẩm nào.
Cảm ơn.
Bạn có chắc 'reportGraphs' không phải là' null' không? – dtb
'System.Collections.Generic.Dictionary' không * có * phương thức' MoveNext() '. Bạn có chắc bạn không nghĩ đến một trình lặp trên một từ điển? –
Rất tiếc, báo cáo thực sự được định nghĩa là .Enumerator, như trong reportGraphs = new System.Collections.Generic.Dictionary .Enumerator(); Vì vậy, bất kỳ cách nào để phát hiện MoveNext() sẽ ném một ngoại lệ khi áp dụng cho Điều tra viên. Nếu tôi thử kiểm tra null, tôi nhận được Toán tử '! =' Không thể áp dụng cho các toán hạng kiểu 'System.Collections.Generic.Dictionary .Enumerator' và '' –
DEH