diff --git a/ICD.Common.Utils/Extensions/DateTimeExtensions.cs b/ICD.Common.Utils/Extensions/DateTimeExtensions.cs index 8a95078..63ca40f 100644 --- a/ICD.Common.Utils/Extensions/DateTimeExtensions.cs +++ b/ICD.Common.Utils/Extensions/DateTimeExtensions.cs @@ -42,9 +42,9 @@ namespace ICD.Common.Utils.Extensions if (times.Length == 0) return null; - DateTime[] orderedTimes = times.OrderBy(dt => dt).ToArray(); - var time = orderedTimes.FirstOrDefault(dt => target < dt); - return time == default(DateTime) ? (DateTime?) null : time; + DateTime earliestTime; + bool success = times.OrderBy(dt => dt).TryFirst(dt => target < dt, out earliestTime); + return success ? earliestTime : (DateTime?) null; } /// @@ -59,9 +59,9 @@ namespace ICD.Common.Utils.Extensions if (times.Length == 0) return null; - DateTime[] orderedTimes = times.OrderByDescending(dt => dt).ToArray(); - var time = orderedTimes.FirstOrDefault(dt => target > dt); - return time == default(DateTime) ? (DateTime?) null : time; + DateTime latestTime; + bool success = times.OrderByDescending(dt => dt).TryFirst(dt => target > dt, out latestTime); + return success ? latestTime : (DateTime?) null; } } }