tôi có một phương pháp mở rộng cho IEnumerable, sau đó lặp lại thông qua bộ sưu tập, thực hiện công việc kinh doanh của mình và sau đó trả về một IEnumerable mới.trả về null với PLINQ
Tôi đã cố gắng sử dụng PLINQ sử dụng .AsParallel(). ForAll() tăng tốc độ lặp lại đáng kể là null.
Tôi cho rằng điều này có thể là do nó trả lại bộ sưu tập trước khi tất cả 'doanh nghiệp' có cơ hội hoàn thành? nếu tôi gỡ lỗi và đặt trong một breakpoint, không có null.
có loại phương pháp 'chờ cho hoạt động này được hoàn thành' mà tôi nên sử dụng không?
CHỈNH SỬA: để rõ ràng hơn một chút, có logic nghiệp vụ trong forall, sửa đổi thuộc tính, v.v. cần phải có một hành động lặp, thay vì chỉ đơn giản là chọn một cái gì đó.
bạn có thể chỉ cho chúng tôi một mẫu mã? –
ParallelEnumerable. AllAll() không trả lại bất kỳ thứ gì (void ForAll (...)), không phải là một số không thể đếm được: - nếu bạn đang sử dụng ForAll, bạn không trả về số ... Bạn cần hiển thị mã. –
xin lỗi vì sự mơ hồ. phương thức trả về bộ sưu tập, chứ không phải forall. – benpage