From eb58e6557465d3cb4b3b01edb44d429e965e1211 Mon Sep 17 00:00:00 2001 From: Chris Cameron Date: Tue, 5 Jun 2018 13:40:26 -0400 Subject: [PATCH] perf: Don't reinvent the wheel for TryElementAt extension method --- .../Extensions/EnumerableExtensions.cs | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/ICD.Common.Utils/Extensions/EnumerableExtensions.cs b/ICD.Common.Utils/Extensions/EnumerableExtensions.cs index 244b936..71061ed 100644 --- a/ICD.Common.Utils/Extensions/EnumerableExtensions.cs +++ b/ICD.Common.Utils/Extensions/EnumerableExtensions.cs @@ -163,21 +163,16 @@ namespace ICD.Common.Utils.Extensions if (extends == null) throw new ArgumentNullException("extends"); - if (index < 0) - throw new ArgumentException("Index must be greater or equal to 0", "index"); - item = default(T); - int eachIndex = 0; - foreach (T each in extends) + try { - if (eachIndex == index) - { - item = each; - return true; - } - - eachIndex++; + item = extends.ElementAt(index); + return true; + } + catch (Exception) + { + return false; } return false;