diff --git a/ICD.Common.Utils/Extensions/EnumerableExtensions.cs b/ICD.Common.Utils/Extensions/EnumerableExtensions.cs index 9bfbb03..8fcc131 100644 --- a/ICD.Common.Utils/Extensions/EnumerableExtensions.cs +++ b/ICD.Common.Utils/Extensions/EnumerableExtensions.cs @@ -58,7 +58,18 @@ namespace ICD.Common.Utils.Extensions if (extends == null) throw new ArgumentNullException("extends"); - return extends.TryFirst(i => true, out item); + IList list = extends as IList; + if (list == null) + return extends.TryFirst(i => true, out item); + + item = default(T); + + if (list.Count <= 0) + return false; + + item = list[0]; + + return true; } /// @@ -106,7 +117,18 @@ namespace ICD.Common.Utils.Extensions if (extends == null) throw new ArgumentNullException("extends"); - return extends.TryLast(i => true, out item); + IList list = extends as IList; + if (list == null) + return extends.TryLast(i => true, out item); + + item = default(T); + + if (list.Count <= 0) + return false; + + item = list[list.Count - 1]; + + return true; } ///