我存储这个类
public class Customer
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public string CustID { get; set; }
}
在这本词典中:
public static ConcurrentDictonary<string, Customer> Customers = new ConcurrentDictonary<string, Customer>();
key 是每个客户的唯一字符串。
我正在尝试找到最干净的线程安全方式来更新存储在字典中的客户属性。
抱歉,如果上面的代码有任何语法问题,请使用智能手机输入。
这是我目前正在做的事情:
Customer oCustomers = new Customer();
Customers.tryGetValue(ID, out oCustomers);
Customer nCustomer = new Customer();
nCustomer = oCustomer;
nCustomer.Firstname = NewValue;
Customers.tryUpdate(ID, nCustomer, oCustomer);
这行得通,但对我来说似乎被黑了,任何建议都很好。
这已作为重复问题关闭,该问题询问如何以线程安全的方式修改 ConcurrentDictionary。我问的是如何修改个人客户,而不是字典。
关于stack overflow我一直没有找到答案,找了一段时间。请有人重新打开这个问题,这样我就无法得到我来这里寻求的帮助。
ConcurrentDictionary 是默认情况下线程安全的字典,涉及它的所有操作在设计上都是原子的。
我是一名优秀的程序员,十分优秀!