C#中AddOrUpdate()怎么使用
时间: 2024-04-24 20:24:32 浏览: 18
在C#中,AddOrUpdate()方法用于向ConcurrentDictionary字典中添加或更新键值对。它接受三个参数:键(key),要添加的值(addValue)和一个委托函数(updateValueFactory)。如果字典中已存在该键,则使用委托函数来更新该键对应的值;如果字典中不存在该键,则将该键值对添加到字典中。
具体使用方法如下:
```csharp
dictionary.AddOrUpdate(key, addValue, updateValueFactory);
```
其中,key是要添加或更新的键,addValue是要添加的值,updateValueFactory是一个委托函数,用于在字典中已存在该键时更新该键对应的值。
例如,根据引用\[1\]中的代码示例,可以使用AddOrUpdate()方法将sessionId添加或更新到userDic字典中的authUser.UserId键对应的值:
```csharp
userDic.AddOrUpdate(authUser.UserId, sessionId, (key, oldValue) => sessionId);
```
这样,如果userDic字典中已存在authUser.UserId键,则使用委托函数将sessionId更新为新的值;如果userDic字典中不存在authUser.UserId键,则将authUser.UserId和sessionId添加到字典中。
引用\[2\]和引用\[3\]提供了AddOrUpdate()方法的另外两个使用示例,它们也是根据相同的原理来添加或更新字典中的键值对。
#### 引用[.reference_title]
- *1* [ConcurrentDictionary AddOrUpdate](https://blog.csdn.net/weixin_34253539/article/details/86127635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [ConcurrentDictionary, TValue>的AddOrUpdate方法](https://blog.csdn.net/weixin_33827965/article/details/85717188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]