From def81382519e6f16ddad3662397d3ee9bbe536cf Mon Sep 17 00:00:00 2001 From: bttf92 Date: Wed, 17 Nov 2021 17:41:25 +0100 Subject: [PATCH] Added SelectRandomElements extension Small fix --- Extensions/OtherExtensions.cs | 28 ++++++++++++++++++++++++++++ FusionLibrary.nuspec | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Extensions/OtherExtensions.cs b/Extensions/OtherExtensions.cs index 14c7655..9996462 100644 --- a/Extensions/OtherExtensions.cs +++ b/Extensions/OtherExtensions.cs @@ -146,5 +146,33 @@ public static bool Implements(this object obj) { return obj.GetType().GetInterfaces().Contains(typeof(T)); } + + /// + /// Returns a list with random elements from . + /// + /// of the element. + /// + /// Number of random elements. + /// List of random elements. + public static List SelectRandomElements(this IEnumerable sequence, int count) where T : class + { + List ret = new List(); + + if (count >= sequence.Count()) + return sequence.ToList(); + + if (count < 1) + return null; + + while(ret.Count < count) + { + var select = sequence.SelectRandomElement(); + + if (!ret.Contains(select)) + ret.Add(select); + } + + return ret; + } } } diff --git a/FusionLibrary.nuspec b/FusionLibrary.nuspec index 2bf159d..b60445e 100644 --- a/FusionLibrary.nuspec +++ b/FusionLibrary.nuspec @@ -2,7 +2,7 @@ FusionLibrary.SHVDN3 - 1.2.0 + 1.2.2 MrFusion92 true MIT