Не удается преобразовать из char в System.ReadOnlySpan

Компилятор жалуется на int.TryParse(operSum[indexOperSum]

Есть слово sumX_Y, нужно узнать X и Y, также Y может быть двухзначным, трехзначным и т.п

operSum является string типом

                        int indexOperSum = 5;
                        string stringIndex = "";
                        while (int.TryParse(operSum[indexOperSum], out int tryParse))
                        {
                            stringIndex += operSum[indexOperSum];
                            indexOperSum++;
                        }
                        int index = Convert.ToInt32(stringIndex); 

Ответы (1 шт):

Автор решения: return
public static bool TryParseCommand(ReadOnlySpan<char> command, out int left, out int right)
{
    const int minCmdLen = 6; // "sum0_0".Length == 6
    const string cmdPref = "sum";

    left = 0;
    right = 0;

    // проверяем длину команды
    if (command.Length < minCmdLen) return false;
    // проверяем наличие префикса "sum"
    if (!command[..cmdPref.Length].Equals(cmdPref, StringComparison.Ordinal))
        return false;

    var sepInd = -1; // индекс разделителя '_'

    // ищем `sepInd`
    for (var i = cmdPref.Length; i < command.Length; i++)
        if (command[i] == '_')
        {
            sepInd = i;

            break;
        }

    // неудача, если не нашли
    if (sepInd == -1) return false;

    // выделяем буферы для левого и правого значений
    var leftBuf = command[cmdPref.Length..sepInd];
    var rghtBuf = command[(sepInd + 1)..];

    // парсим буферы
    if (!int.TryParse(leftBuf, out left)) return false;
    if (!int.TryParse(rghtBuf, out right)) return false;

    return true; // успех
}
Примечание: При копировании кода убрать комментарии!
→ Ссылка