Помогите с решением этой задачи C#

Пользователь задает массив строк. Для каждой строки вывести сумму всех чисел, входящих в эту строку.


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

Автор решения: Olegator36

Сумма чисел строки:

int sum(string st){
    int res;
    for(int i = 0; i < st.Lenght; i++){
        res += st[i] - '0';
    }
    return res;
}

А если могут быть буквы, то используйте switch.

switch(st[i]){
    case '1':
        res += 1;
        break;
    case '2':
        res += 2;
        break;
    //так до девяти
    //если ноль или не цифра, то ничего не прибавляется
}
→ Ссылка
Автор решения: YD359

При условии, что числа целые, а lines - входной массив строк:

char separator = ' '; // пробел, если разделены пробелом, иначе поменять
for (int i=0; i<lines.Length; i++) {
   var numArr = lines[i].Split(separator); // массив чисел в строке, пока еще в виде строк
   int result = 0;
   for (int j=0; j<numArr.Length; j++) {
      result += int.Parse(numArr[j]);
   }
   Console.WriteLine("Сумма чисел в строке = " + result);
}
→ Ссылка
Автор решения: Frehzy
using System.Linq;        

string num1 = "1 2 5 3 4";
string num2 = "5 3 2 1";
string[] array = new string[2] { num1, num2 };

var result = array.Select(x =>
{ 
    return Regex.Matches(x, @"-?\d+").Cast<Match>().Sum(y => int.Parse(y.Value));
});

result - IEnumerable, который содержит ответ. Для вывода можешь использовать foreach и Console.WriteLine

→ Ссылка