Подсчет суммы целых чисел в строке
Есть метод:
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;
}
Решение лобовое и выглядит не очень, существует ли более грамотное?