diff --git a/Directory.Build.props b/Directory.Build.props index a237ed1..000e041 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -18,7 +18,7 @@ LTR Data Olof Lagerkvist ..\$(Configuration) - 1.0.9 + 1.0.10 true $(LocalNuGetPath) true diff --git a/LTRData.Extensions/Split/SpanSplitExtensions.cs b/LTRData.Extensions/Split/SpanSplitExtensions.cs index f0ac343..925c496 100644 --- a/LTRData.Extensions/Split/SpanSplitExtensions.cs +++ b/LTRData.Extensions/Split/SpanSplitExtensions.cs @@ -65,8 +65,7 @@ public static StringSplitByStringEnumerator SplitReverse(this ReadOnlySpan /// Iterator public static IEnumerable> Split(this ReadOnlyMemory chars, char delimiter, StringSplitOptions options = StringSplitOptions.None) { - while (!chars.IsEmpty) - { + do { var i = chars.Span.IndexOf(delimiter); if (i < 0) { @@ -94,7 +93,7 @@ public static IEnumerable> Split(this ReadOnlyMemory } chars = chars.Slice(i + 1); - } + } while (!chars.IsEmpty); } /// @@ -107,8 +106,7 @@ public static IEnumerable> Split(this ReadOnlyMemory /// Iterator public static IEnumerable> Split(this ReadOnlyMemory chars, char delimiter1, char delimiter2, StringSplitOptions options = StringSplitOptions.None) { - while (!chars.IsEmpty) - { + do { var i = chars.Span.IndexOfAny(delimiter1, delimiter2); if (i < 0) { @@ -136,7 +134,7 @@ public static IEnumerable> Split(this ReadOnlyMemory } chars = chars.Slice(i + 1); - } + } while (!chars.IsEmpty); } /// @@ -148,8 +146,7 @@ public static IEnumerable> Split(this ReadOnlyMemory /// Iterator public static IEnumerable> SplitReverse(this ReadOnlyMemory chars, char delimiter, StringSplitOptions options = StringSplitOptions.None) { - while (!chars.IsEmpty) - { + do { var i = chars.Span.LastIndexOf(delimiter); var value = chars.Slice(i + 1); @@ -173,7 +170,7 @@ public static IEnumerable> SplitReverse(this ReadOnlyMemory } chars = chars.Slice(0, i); - } + } while (!chars.IsEmpty); } /// @@ -185,8 +182,7 @@ public static IEnumerable> SplitReverse(this ReadOnlyMemory /// Iterator public static IEnumerable> Split(this ReadOnlyMemory chars, ReadOnlyMemory delimiter, StringSplitOptions options = StringSplitOptions.None) { - while (!chars.IsEmpty) - { + do { var i = chars.Span.IndexOf(delimiter.Span); if (i < 0) { @@ -214,7 +210,7 @@ public static IEnumerable> Split(this ReadOnlyMemory } chars = chars.Slice(i + delimiter.Length); - } + } while (!chars.IsEmpty); } /// @@ -226,8 +222,7 @@ public static IEnumerable> Split(this ReadOnlyMemory /// Iterator public static IEnumerable> SplitReverse(this ReadOnlyMemory chars, ReadOnlyMemory delimiter, StringSplitOptions options = StringSplitOptions.None) { - while (!chars.IsEmpty) - { + do { var i = chars.Span.LastIndexOf(delimiter.Span); var value = i >= 0 ? chars.Slice(i + delimiter.Length) : chars; @@ -251,7 +246,7 @@ public static IEnumerable> SplitReverse(this ReadOnlyMemory } chars = chars.Slice(0, i); - } + } while (!chars.IsEmpty); } /// @@ -264,8 +259,7 @@ public static IEnumerable> SplitReverse(this ReadOnlyMemory /// Iterator public static IEnumerable> Split(this ReadOnlyMemory chars, ReadOnlyMemory delimiter, StringSplitOptions options, StringComparison comparison) { - while (!chars.IsEmpty) - { + do { var i = chars.Span.IndexOf(delimiter.Span, comparison); if (i < 0) { @@ -293,7 +287,7 @@ public static IEnumerable> Split(this ReadOnlyMemory } chars = chars.Slice(i + delimiter.Length); - } + } while (!chars.IsEmpty); } }