From 69b97779d9a2b54a5cd97cbfe7bade40786d9df1 Mon Sep 17 00:00:00 2001 From: Chris Cameron Date: Fri, 13 Jul 2018 15:06:06 -0400 Subject: [PATCH] perf: Micro-optimizations --- ICD.Common.Utils/Extensions/DictionaryExtensions.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ICD.Common.Utils/Extensions/DictionaryExtensions.cs b/ICD.Common.Utils/Extensions/DictionaryExtensions.cs index 18a3d0d..7ffc580 100644 --- a/ICD.Common.Utils/Extensions/DictionaryExtensions.cs +++ b/ICD.Common.Utils/Extensions/DictionaryExtensions.cs @@ -98,7 +98,8 @@ namespace ICD.Common.Utils.Extensions if (key == null) throw new ArgumentNullException("key"); - return extends.ContainsKey(key) ? extends[key] : defaultValue; + TValue value; + return extends.TryGetValue(key, out value) ? value : defaultValue; } /// @@ -229,7 +230,8 @@ namespace ICD.Common.Utils.Extensions foreach (KeyValuePair pair in other) { - if (extends.ContainsKey(pair.Key) && comparer.Equals(pair.Value, extends[pair.Key])) + TValue value; + if (extends.TryGetValue(pair.Key, out value) && comparer.Equals(pair.Value, value)) continue; extends[pair.Key] = pair.Value;