С# - Как получить сумму значений из списка?

Я хочу получить сумму значений из списка.

Например: у меня есть 4 значения в списке 1 2 3 4 Я хочу суммировать эти значения и отображать их в Label

код:

protected void btnCalculate_Click(object sender, EventArgs e)
{
    string monday;
    TextBox txtMonTot;
    List<string> monTotal = new List<string>();

    if (Application["mondayValues"] != null)
    {
        List<string> monValues = Application["mondayValues"] as List<string>;
        for (int i = 0; i <= gridActivity.Rows.Count - 1; i++)
        {
            GridViewRow row = gridActivity.Rows[i];
            txtMonTot = (TextBox)row.FindControl("txtMon");
            monday = monValues[i];
            monTotal.Add(monday);
        }
    }
}

Любые идеи? Спасибо заранее

Ответы

Ответ 1

Вы можете использовать функцию Sum, но вам придется преобразовать строки в целые числа, например:

int total = monValues.Sum(x => Convert.ToInt32(x));

Ответ 2

Используйте Сумма()

 List<string> foo = new List<string>();
 foo.Add("1");
 foo.Add("2");
 foo.Add("3");
 foo.Add("4");

 Console.Write(foo.Sum(x => Convert.ToInt32(x)));

Печать

10

Ответ 3

Вы можете использовать LINQ для этого

var list = new List<int>();
var sum = list.Sum();

и для списка строк, таких как Roy Dictus, вам нужно преобразовать

list.Sum(str => Convert.ToInt32(str));

Ответ 4

Как насчет этого?

List<string> monValues = Application["mondayValues"] as List<string>;
int sum = monValues.ConvertAll(Convert.ToInt32).Sum();