mirror of
https://github.com/oliverbooth/X10D
synced 2024-11-09 23:15:40 +00:00
style: cleanup DictionaryExtensions
* Explicit type is used where type is not evident. * Conditions are inlined with a ternary and the return value is used directly. * System.Runtime.InteropServices is only imported for .NET >= 6.0
This commit is contained in:
parent
b79435211a
commit
d29663f081
@ -1,5 +1,7 @@
|
|||||||
using System.Diagnostics.Contracts;
|
using System.Diagnostics.Contracts;
|
||||||
|
#if NET6_0_OR_GREATER
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
#endif
|
||||||
using System.Web;
|
using System.Web;
|
||||||
|
|
||||||
namespace X10D.Collections;
|
namespace X10D.Collections;
|
||||||
@ -65,7 +67,7 @@ public static class DictionaryExtensions
|
|||||||
#else
|
#else
|
||||||
if (dictionary.TryGetValue(key, out TValue? old))
|
if (dictionary.TryGetValue(key, out TValue? old))
|
||||||
{
|
{
|
||||||
var updated = updateValueFactory(key, old);
|
TValue updated = updateValueFactory(key, old);
|
||||||
dictionary[key] = updated;
|
dictionary[key] = updated;
|
||||||
|
|
||||||
return updated;
|
return updated;
|
||||||
@ -119,7 +121,7 @@ public static class DictionaryExtensions
|
|||||||
|
|
||||||
if (dictionary.TryGetValue(key, out TValue? old))
|
if (dictionary.TryGetValue(key, out TValue? old))
|
||||||
{
|
{
|
||||||
var updated = updateValueFactory(key, old);
|
TValue updated = updateValueFactory(key, old);
|
||||||
dictionary[key] = updated;
|
dictionary[key] = updated;
|
||||||
|
|
||||||
return updated;
|
return updated;
|
||||||
@ -180,26 +182,17 @@ public static class DictionaryExtensions
|
|||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ref TValue? value = ref CollectionsMarshal.GetValueRefOrAddDefault(dictionary, key, out bool exists);
|
ref TValue? value = ref CollectionsMarshal.GetValueRefOrAddDefault(dictionary, key, out bool exists);
|
||||||
if (exists)
|
return exists ? updateValueFactory(key, value!) : addValueFactory(key);
|
||||||
{
|
|
||||||
value = updateValueFactory(key, value!);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
value = addValueFactory(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
return value;
|
|
||||||
#else
|
#else
|
||||||
if (dictionary.TryGetValue(key, out TValue? old))
|
if (dictionary.TryGetValue(key, out TValue? old))
|
||||||
{
|
{
|
||||||
var updated = updateValueFactory(key, old);
|
TValue updated = updateValueFactory(key, old);
|
||||||
dictionary[key] = updated;
|
dictionary[key] = updated;
|
||||||
|
|
||||||
return updated;
|
return updated;
|
||||||
}
|
}
|
||||||
|
|
||||||
var add = addValueFactory(key);
|
TValue add = addValueFactory(key);
|
||||||
dictionary.Add(key, add);
|
dictionary.Add(key, add);
|
||||||
|
|
||||||
return add;
|
return add;
|
||||||
@ -257,13 +250,13 @@ public static class DictionaryExtensions
|
|||||||
|
|
||||||
if (dictionary.TryGetValue(key, out TValue? old))
|
if (dictionary.TryGetValue(key, out TValue? old))
|
||||||
{
|
{
|
||||||
var updated = updateValueFactory(key, old);
|
TValue updated = updateValueFactory(key, old);
|
||||||
dictionary[key] = updated;
|
dictionary[key] = updated;
|
||||||
|
|
||||||
return updated;
|
return updated;
|
||||||
}
|
}
|
||||||
|
|
||||||
var add = addValueFactory(key);
|
TValue add = addValueFactory(key);
|
||||||
dictionary.Add(key, add);
|
dictionary.Add(key, add);
|
||||||
|
|
||||||
return add;
|
return add;
|
||||||
@ -326,26 +319,17 @@ public static class DictionaryExtensions
|
|||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ref TValue? value = ref CollectionsMarshal.GetValueRefOrAddDefault(dictionary, key, out bool exists);
|
ref TValue? value = ref CollectionsMarshal.GetValueRefOrAddDefault(dictionary, key, out bool exists);
|
||||||
if (exists)
|
return exists ? updateValueFactory(key, value!, factoryArgument) : addValueFactory(key, factoryArgument);
|
||||||
{
|
|
||||||
value = updateValueFactory(key, value!, factoryArgument);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
value = addValueFactory(key, factoryArgument);
|
|
||||||
}
|
|
||||||
|
|
||||||
return value;
|
|
||||||
#else
|
#else
|
||||||
if (dictionary.TryGetValue(key, out TValue? old))
|
if (dictionary.TryGetValue(key, out TValue? old))
|
||||||
{
|
{
|
||||||
var updated = updateValueFactory(key, old, factoryArgument);
|
TValue updated = updateValueFactory(key, old, factoryArgument);
|
||||||
dictionary[key] = updated;
|
dictionary[key] = updated;
|
||||||
|
|
||||||
return updated;
|
return updated;
|
||||||
}
|
}
|
||||||
|
|
||||||
var add = addValueFactory(key, factoryArgument);
|
TValue add = addValueFactory(key, factoryArgument);
|
||||||
dictionary.Add(key, add);
|
dictionary.Add(key, add);
|
||||||
|
|
||||||
return add;
|
return add;
|
||||||
@ -409,13 +393,13 @@ public static class DictionaryExtensions
|
|||||||
|
|
||||||
if (dictionary.TryGetValue(key, out TValue? old))
|
if (dictionary.TryGetValue(key, out TValue? old))
|
||||||
{
|
{
|
||||||
var updated = updateValueFactory(key, old, factoryArgument);
|
TValue updated = updateValueFactory(key, old, factoryArgument);
|
||||||
dictionary[key] = updated;
|
dictionary[key] = updated;
|
||||||
|
|
||||||
return updated;
|
return updated;
|
||||||
}
|
}
|
||||||
|
|
||||||
var add = addValueFactory(key, factoryArgument);
|
TValue add = addValueFactory(key, factoryArgument);
|
||||||
dictionary.Add(key, add);
|
dictionary.Add(key, add);
|
||||||
|
|
||||||
return add;
|
return add;
|
||||||
|
Loading…
Reference in New Issue
Block a user