簡體   English   中英

計算特定郊區C#的總余額

[英]Calculating total Balance of Particular Suburb C#

   List<Customer> customers = new List<Customer>();
    int id = 0;
    int click = -1;

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void AddButton_Click(object sender, EventArgs e)
    {
        Customer rec1 = new Customer("C0020", "Alfred", "Campbelltown", 1500, 2006);
        Customer rec2 = new Customer("C0021", "Ryder", "Liverpool", 2000, 2008);
        Customer rec3 = new Customer("C0022", "Alison", "Strathfield", 5500, 2012);
        Customer rec4 = new Customer("C0023", "Eliza", "Liverpool", 6000, 2012);
        Customer rec5 = new Customer("C0024", "Natsu", "Campbelltown", 2560, 2011);

        customers.Add(rec1);
        customers.Add(rec2);
        customers.Add(rec3);
        customers.Add(rec4);
        customers.Add(rec5);

        click = customers.Count - 1;

    }

如何計算特定郊區的總余額? 我可以使用以下代碼計算所有內容的總余額:

        double total = 0;

        foreach (Customer Total in customers)
            total += Total.Balance; //Total Balance

有任何想法嗎? 謝謝

在C#> = 3.5中最簡單的方法是使用LINQ:

customers.Where(c => c.Suburb == "whatever").Sum(c => c.Balance);

對不起,您沒有描述您的Customer道具,所以我已經假設了它們。

您可以使用LINQ的GroupBySum每個組:

var suburbGroups = customers
        .GroupBy(c => c.Suburb)
        .Select(g => new { Suburb = g.Key, Balance = g.Sum(c => c.Balance) })
        .OrderByDescending(x => x.Balance);

foreach(var grp in suburbGroups)
    Console.WriteLine("Suburb: {0}  Total-Balance: {1}", grp.Suburb, grp.Balance);

請注意,您需要using System.Linq;添加using System.Linq;

演示: http//ideone.com/TQcgE

假設您的Customer類中有Balance屬性

var bal = customers.Sum(c => c.Balance); // customers is the collection

使用以下Linq表達式...

var balance=customers.GroupBy(g=>g.suburbname).Select(lg =>new { TotalBalance= lg.Sum(g => g.Balance)}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM