Parse Numbers Faster from a String
Before
var line = "42, 84, 126";
var parts = line.Split(',').Select(int.Parse).ToArray();
After
ReadOnlySpan<char> span = line.AsSpan();
while (span.Length > 0)
{
var commaIndex = span.IndexOf(',');
ReadOnlySpan<char> token;
if (commaIndex == -1)
{
token = span;
span = ReadOnlySpan<char>.Empty;
}
else
{
token = span.Slice(0, commaIndex);
span = span.Slice(commaIndex + 1);
}
if (int.TryParse(token.Trim(), out var value))
{
// Do something with value
}
}