2013-11-09 48 views
0

我有一個名單,我想獲得這個名單&的總和要顯示它在一個標籤和值在列表C#中(.NET 2.0)

我的名單是

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

它充滿了我需要得到它的總和的整數值。

我真的不知道如何添加值。嘗試了一些屬性,如計算,總和,但它給語法錯誤,因爲它不適用於此。

這裏是如何我在呢

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

&我需要顯示在標籤的輸出獲取值

我還需要從該列表中獲取前3的值,但直到目前我無法這樣做。 .NET框架是列表的2.0

回答

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(); 
+0

它的2.0,所以我們不能使用Sum等,因爲它需要Linq&Linq可以在4.0中使用:( –

+0

沒有意識到框架...嘗試編輯 – christiandev

+0

它的工作,但我怎麼能打印標籤中的前3個值plz:/對不起,我是Noooooooooob –

0

總和可以通過多種方式來實現,這裏是最簡單的,Amount.Sum();(LINQ是必需的)。

關於標籤要求,我還沒有完全理解你。

+0

我認爲我們不能在Windows中使用LINQ形成。我無法爲linq項目添加參考 –

+0

必須是vs4.0或以上。 – Anand

+0

哦,我想我忘了提及我正在使用2.0 –

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 
+0

我相信總和需要一些程序集的參考,這是不存在我的Windows窗體 –

+0

@CodingNoob'使用System.Linq;' – Ofiris

+0

我忘了提及我使用.Net Framework 2.0 &linq它需要4.0 –

2

如果您不能使用LINQ嘗試這樣的事:

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

var sum = 0.0; 

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

它的工作原理:D謝謝老兄。你能告訴我一點關於從列表中獲得前3個值@Alessandro D'Andria –

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