Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ SplitInternal() [2/3]

string[] System.String.SplitInternal ( string separator,
int count,
StringSplitOptions options )
inlineprivate

Definition at line 2734 of file String.cs.

2735 {
2736 Span<int> initialSpan = stackalloc int[128];
2740 if (sepList.Length == 0)
2741 {
2742 string text = this;
2743 if ((options & StringSplitOptions.TrimEntries) != 0)
2744 {
2745 text = text.Trim();
2746 }
2747 if (text.Length != 0 || (options & StringSplitOptions.RemoveEmptyEntries) == 0)
2748 {
2749 return new string[1] { text };
2750 }
2751 return Array.Empty<string>();
2752 }
2753 string[] result = ((options != 0) ? SplitWithPostProcessing(sepList, default(ReadOnlySpan<int>), separator.Length, count, options) : SplitWithoutPostProcessing(sepList, default(ReadOnlySpan<int>), separator.Length, count));
2754 sepListBuilder.Dispose();
2755 return result;
2756 }
string[] SplitWithPostProcessing(ReadOnlySpan< int > sepList, ReadOnlySpan< int > lengthList, int defaultLength, int count, StringSplitOptions options)
Definition String.cs:2785
string[] SplitWithoutPostProcessing(ReadOnlySpan< int > sepList, ReadOnlySpan< int > lengthList, int defaultLength, int count)
Definition String.cs:2758
unsafe void MakeSeparatorList(ReadOnlySpan< char > separators, ref ValueListBuilder< int > sepListBuilder)
Definition String.cs:2841

References System.count, System.String.MakeSeparatorList(), System.options, System.String.SplitWithoutPostProcessing(), System.String.SplitWithPostProcessing(), and System.text.