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的主要内容,如果未能解决你的问题,请参考以下文章