Tôi không sử dụng Single
trong LINQ dưới đây, nhưng tôi vẫn nhận được một 'Chuỗi không chứa yếu tố' ngoại lệ:Chuỗi không chứa các yếu tố ngoại lệ trong LINQ mà không cần sử dụng đơn
allNames = StockCollection.Where((s) => s.Name.IndexOf("A") == 0)
.Select((s) => s.Name)
.Aggregate((namesInfo, name) => namesInfo += ", " + name);
ngoại lệ này được đưa ra khi có không có cổ phiếu nào bắt đầu bằng tên 'A'
.
Dường như một phương pháp khuyến nông dự kiến ít nhất một phần tử thỏa mãn điều kiện nhưng điều đó không được mong đợi.
Bạn có thể đề xuất giải pháp tốt nhất để giải quyết vấn đề này không?
Xin cảm ơn trước.
Cảm ơn rất nhiều vì đã trả lời tôi sẽ thử ngay bây giờ .. Nhưng tôi vẫn muốn biết tại sao tổng hợp lại ném ngoại lệ. –
@D J: Tại sao? Giá trị hợp lý nào có thể trở lại? Có lẽ giá trị mặc định của kiểu trả về ('null' trong trường hợp này), nhưng tôi không muốn điều đó. – Ani
Vấn đề là như chúng ta không biết tại thời điểm chạy bộ sưu tập của chúng tôi sẽ có bất kỳ đối tượng hay không? do đó, nó không nên ném một ngoại lệ hoặc nó chỉ có thể trả về giá trị mặc định. –