列表中的值总和C#(。Net 2.0)

时间:2013-11-09 10:16:13

标签: c# .net list .net-2.0

我有一个列表,我想得到这个列表的总和&想要在标签中显示它

我的清单是

   List<double> Amount = new List<double>();

&安培;它充满了整数值,我需要得到它的总和。

我真的不知道如何添加值。尝试了一些像compute,sum这样的属性,但是它给出了语法错误,因为它不能用于此。

这是我如何获得价值

 double sales = double.Parse(split_values[1]);
                    listBox2.Items.Add(sales);
                    Amount.Add(sales);

&安培;我需要在标签中显示输出

我还需要从此列表中获得前3个值,但直到我无法这样做。 .net Framework是2.0

5 个答案:

答案 0 :(得分:2)

如果你不能使用LINQ尝试这样的事情:

List<double> Amount = new List<double>();

var sum = 0.0;

Amount.ForEach(x => sum += x);

答案 1 :(得分:2)

using System;
using System.Collections.Generic;
using System.Linq;            

var amount = new List<double>() { 2.5, 1.5, 3.5, 5.5 };
            var sum = amount.Sum();
            Console.WriteLine(sum);

            var highest3 = amount.OrderByDescending(a => a).Take(3);

            var i = 1;
            foreach (var d in highest3)
            {
                Console.WriteLine("{0} is position {1}",d,i);
                i++;
            }

            Console.ReadLine();

编辑:框架2

var amount = new List<double>() { 2.5, 1.5, 3.5, 5.5 };
            var sum = 0.0d;
            foreach (var d in amount)
            {
                sum += d;
            }

            Console.WriteLine(sum);

            amount.Sort();
            amount.Reverse();

            lbl_first.Text = amount[0].ToString();
            lbl_second.Text = amount[1].ToString();
            lbl_third.Text = amount[2].ToString();

            var i = 1;
            foreach (var d in amount)
            {
                if (i > 3)
                    break;

                Console.WriteLine("{0} is position {1}",d,i);
                i++;
            }

            Console.ReadLine();

答案 2 :(得分:1)

列表的总和可以通过多种方式实现,这里最简单,Amount.Sum();(Linq是必需的)。

关于标签请求,我还没有完全理解你。

答案 3 :(得分:1)

double sales = Double.parseDouble(split_values[1]);//it's convert to double
Amount.add(sales);//value is added

答案 4 :(得分:0)

using System.Linq;

List<double> Amount = new List<double>() {1.0, 2.0, 3.0, 4.0};  
Console.WriteLine(Amount.Sum()); //10

var top3 = Amount.OrderByDescending(x => x).Take(3); // 4.0, 3.0, 2.0