csharp [AddOrUpdate]あれば更新,なければ添加#ExtensionMethod
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp [AddOrUpdate]あれば更新,なければ添加#ExtensionMethod相关的知识,希望对你有一定的参考价值。
public static TValue AddOrUpdate<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key, TValue addValue, Func<TKey, TValue, TValue> updateValueFactory)
=> dict[key] = dict.TryGetValue(key, out TValue result) ? updateValueFactory(key, result) : addValue;
public static TValue AddOrUpdate<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key, TValue addValue, Func<TValue, TValue> updateValueFactory)
=> dict[key] = dict.TryGetValue(key, out TValue result) ? updateValueFactory(result) : addValue;
public static TValue AddDefaultOrUpdate<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key, Func<TKey, TValue, TValue> updateValueFactory)
=> dict.AddOrUpdate(key, default(TValue), updateValueFactory);
public static TValue AddDefaultOrUpdate<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key, Func<TValue, TValue> updateValueFactory)
=> dict.AddOrUpdate(key, default(TValue), updateValueFactory);
public static TValue AddOrUpdate<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key, Func<TKey, TValue> addValueFactory, Func<TKey, TValue, TValue> updateValueFactory)
=> dict[key] = dict.TryGetValue(key, out TValue result) ? updateValueFactory(key, result) : addValueFactory(key);
public static TValue AddOrUpdate<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key, Func<TValue> addValueFactory, Func<TValue, TValue> updateValueFactory)
=> dict[key] = dict.TryGetValue(key, out TValue result) ? updateValueFactory(result) : addValueFactory();
以上是关于csharp [AddOrUpdate]あれば更新,なければ添加#ExtensionMethod的主要内容,如果未能解决你的问题,请参考以下文章
csharp 实现.AddOrUpdate也支持nullables
csharp 字典扩展 - GetOrAdd,AddOrUpdate
csharp [GetOrDefault]键がなければ默认値を返します。#ExtensionMethod
csharp [TryAdd] KeyがなければValueと共に追加します。#ExtensionMethod
csharp [cmをinchに変换] ClosedXMLで余白などの指定をするときはインチ指定しなければならない。#ClosedXML #ExtensionMethod
如何使用 AddOrUpdate 的多个条件来确定数据库是不是应该添加模型或更新?