giả sử tôi có đoạn mã sau:Là một truy vấn LINQ để ConcurrentDictionary giá trị threadsafe?
ConcurrentDictionary<long, long> myDict= new ConcurrentDictionary<long, long>();
Thông thường mỗi truy cập bởi quan trọng là threadsafe, nhưng cũng là LINQ truy vấn threadsafe sau đây? tôi đã không tìm thấy bất cứ điều gì trong tài liệu: http://msdn.microsoft.com/en-us/library/dd287226.aspx
if myDict.Values.Any(x => !x.HasPaid))
{
return false
}
Thú vị, bạn có một nguồn cho điều này? Tài liệu của .Values không đề cập cụ thể nó là một ảnh chụp nhanh: http://msdn.microsoft.com/en-us/library/dd381929.aspx –
Tài liệu không rõ ràng ngoại trừ việc nó trả về một bộ sưu tập so với một số đếm. Nhưng hãy xem mã nguồn: Giá trị getter gọi GetValues () để lấy khóa, cấu trúc và điền vào một danh sách mới và giải phóng khóa. – Kevin
Ah cảm ơn bạn, tôi không tự xem mã nguồn. Tất nhiên nếu đây không phải là tài liệu này là một chi tiết thực hiện có thể thay đổi, nhưng vẫn còn thú vị để biết. –