From 9ba1dc2233a65c5a8e29e8efdccbb2fd0c4d974d Mon Sep 17 00:00:00 2001 From: DomCR Date: Tue, 13 Feb 2024 18:25:29 +0100 Subject: [PATCH] try get --- .../Extensions/IEnumerableExtensions.cs | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/CSUtilities/Extensions/IEnumerableExtensions.cs b/CSUtilities/Extensions/IEnumerableExtensions.cs index c287d83..186fb93 100644 --- a/CSUtilities/Extensions/IEnumerableExtensions.cs +++ b/CSUtilities/Extensions/IEnumerableExtensions.cs @@ -1,7 +1,5 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using System.Text; namespace CSUtilities.Extensions { @@ -31,6 +29,26 @@ public static Queue ToQueue(this IEnumerable enumerable) return new Queue(enumerable); } + /// + /// Gets the element in an specific index or it's default value + /// + /// + /// + /// + /// + /// + public static bool TryGet(this IEnumerable enumerable, int index, out T result) + { + if (enumerable.Count() < index) + { + result = default(T); + return false; + } + + result = enumerable.ElementAt(index); + return true; + } + public static IEnumerable RemoveLastEquals(this IEnumerable enumerable, T element) { List lst = new List(enumerable);