Подсчет суммы целых чисел в строке

Есть метод:

static int SumNumbersInLine(string line)
        {
            int sum = 0;
            int i = 0;
            string number = "";
            while (i < line.Length)
            {
                if (line[i] == '-' && i != line.Length - 1 && Char.IsDigit(line[i + 1]))
                {
                    number += line[i];
                    i++;
                }
                if (Char.IsDigit(line[i]))
                {
                    while (Char.IsDigit(line[i]))
                    {
                        number += line[i];
                        if (i == line.Length - 1) break;
                        i++;
                    }
                    sum += Convert.ToInt32(number);
                    number = "";
                }
                i++;
            }
            return sum;
        }

Решение лобовое и выглядит не очень, существует ли более грамотное?


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