1

このリストの合計を取得してラベルに表示したいリストがあります

私のリストは

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

&それは整数値でいっぱいです。その合計を取得する必要があります。

値を追加する方法がよくわかりません。計算、合計などのいくつかのプロパティを試しましたが、これでは機能しないため、構文エラーが発生します。

これが私が値を取得する方法です

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

& 出力をラベルに表示する必要がある

また、このリストから上位 3 つの値を取得する必要がありますが、まだ取得できませんでした。 .net フレームワークは 2.0 です

4

5 に答える 5

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();
于 2013-11-09T10:33:27.647 に答える
1
double sales = Double.parseDouble(split_values[1]);//it's convert to double
Amount.add(sales);//value is added
于 2013-11-09T10:32:28.033 に答える
1

リストの合計はさまざまな方法で実現できますが、ここでは最も簡単な方法を示しますAmount.Sum();(Linq が必要です)。

ラベルのリクエストに関しては、私はあなたのことを完全には理解していません。

于 2013-11-09T10:19:09.227 に答える
1
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
于 2013-11-09T10:19:31.453 に答える