From 3981033b71c4a12ebf162981a1cb04f6a779b299 Mon Sep 17 00:00:00 2001 From: DomCR Date: Mon, 4 Nov 2024 15:58:15 +0100 Subject: [PATCH] StringBuilderExtensions --- CSUtilities/CSUtilities.projitems | 1 + .../Extensions/IDictionaryExtension.cs | 2 +- .../Extensions/StringBuilderExtensions.cs | 39 +++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 CSUtilities/Extensions/StringBuilderExtensions.cs diff --git a/CSUtilities/CSUtilities.projitems b/CSUtilities/CSUtilities.projitems index fa503bd..a52fead 100644 --- a/CSUtilities/CSUtilities.projitems +++ b/CSUtilities/CSUtilities.projitems @@ -14,6 +14,7 @@ + diff --git a/CSUtilities/Extensions/IDictionaryExtension.cs b/CSUtilities/Extensions/IDictionaryExtension.cs index 094139f..e4239f5 100644 --- a/CSUtilities/Extensions/IDictionaryExtension.cs +++ b/CSUtilities/Extensions/IDictionaryExtension.cs @@ -3,7 +3,7 @@ namespace CSUtilities.Extensions { /// - /// Estensions for + /// Extensions for /// public static class IDictionaryExtension { diff --git a/CSUtilities/Extensions/StringBuilderExtensions.cs b/CSUtilities/Extensions/StringBuilderExtensions.cs new file mode 100644 index 0000000..3529d78 --- /dev/null +++ b/CSUtilities/Extensions/StringBuilderExtensions.cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace CSUtilities.Extensions +{ + /// + /// StringBuilder utility extensions. + /// +#if PUBLIC + public +#else + internal +#endif + static class StringBuilderExtensions + { +#if NETFRAMEWORK + /// + /// + /// + public static StringBuilder AppendJoin(this StringBuilder sb, string? separator, IEnumerable values) + { + separator ??= string.Empty; + + for (var i = 0; i < values.Count(); i++) + { + if (i > 0) + { + sb.Append(separator); + } + + sb.Append(values.ElementAt(i)); + } + + return sb; + } +#endif + } +}