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 } }