c# – 如何从List中获取值的总和?

我想从列表中获取值的总和。

例如:我在列表中有4个值1 2 3 4我想对这些值求和并在Label中显示它

码:

protected void btnCalculate_Click(object sender, EventArgs e) { string monday; TextBox txtMonTot; List monTotal = new List(); if (Application["mondayValues"] != null) { List monValues = Application["mondayValues"] as List; 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); } } } 

有任何想法吗? 提前致谢

你可以使用Sum函数,但你必须将字符串转换为整数,如下所示:

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

使用Sum()

  List foo = new List(); foo.Add("1"); foo.Add("2"); foo.Add("3"); foo.Add("4"); Console.Write(foo.Sum(x => Convert.ToInt32(x))); 

打印:

10

您可以使用LINQ

 var list = new List(); var sum = list.Sum(); 

对于像Roy Dictus这样的字符串列表,你必须转换

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

这个怎么样?

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