fix: use TryFirst instead of comparison to default(DateTime)

This commit is contained in:
Jeffery Thompson
2018-07-12 15:48:45 -04:00
parent a46987aabf
commit 1070cb00f8

View File

@@ -42,9 +42,9 @@ namespace ICD.Common.Utils.Extensions
if (times.Length == 0) if (times.Length == 0)
return null; return null;
DateTime[] orderedTimes = times.OrderBy(dt => dt).ToArray(); DateTime earliestTime;
var time = orderedTimes.FirstOrDefault(dt => target < dt); bool success = times.OrderBy(dt => dt).TryFirst(dt => target < dt, out earliestTime);
return time == default(DateTime) ? (DateTime?) null : time; return success ? earliestTime : (DateTime?) null;
} }
/// <summary> /// <summary>
@@ -59,9 +59,9 @@ namespace ICD.Common.Utils.Extensions
if (times.Length == 0) if (times.Length == 0)
return null; return null;
DateTime[] orderedTimes = times.OrderByDescending(dt => dt).ToArray(); DateTime latestTime;
var time = orderedTimes.FirstOrDefault(dt => target > dt); bool success = times.OrderByDescending(dt => dt).TryFirst(dt => target > dt, out latestTime);
return time == default(DateTime) ? (DateTime?) null : time; return success ? latestTime : (DateTime?) null;
} }
} }
} }