You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#银行类存款总额计算方法实现技术求助

解决方案

没问题,这事儿其实挺简单的,咱们直接在Bank类里加个计算总额的方法就行,给你两种实现方式,按需选:

方式一:循环累加(直观易懂)

这种方式适合刚接触C#的朋友,逻辑一目了然:

public decimal GetTotalBalance()
{
    decimal totalBalance = 0;
    // 遍历银行里的每一个账户,累加余额
    foreach (var account in BankList)
    {
        totalBalance += account.GetBalance();
    }
    return totalBalance;
}

咱们就是把BankList里每个账户的余额挨个加起来,最后返回总和就行。

方式二:用LINQ简化代码(简洁高效)

如果你熟悉LINQ的话,一行代码就能搞定,代码更清爽:

// 别忘了在文件顶部加这个命名空间,不然LINQ方法用不了
using System.Linq;

public decimal GetTotalBalance()
{
    // Sum方法自动遍历所有账户,计算余额总和
    return BankList.Sum(account => account.GetBalance());
}

Sum方法会帮咱们完成遍历和累加的工作,只需要告诉它要取每个账户的GetBalance()结果就行。

怎么用?

你可以像这样调用这个方法来验证:

// 创建银行实例并添加账户
Bank myBank = new Bank();
myBank.AddAccount(
    new Account("Alice", 1200),
    new Account("Bob", 3500),
    new Account("Charlie", 900)
);

// 输出总余额
Console.WriteLine($"银行总存款额:{myBank.GetTotalBalance()}");
// 结果应该是 5600

最后把这个方法加到你的Bank类里就大功告成啦,完整的Bank类大概是这样:

public class Bank 
{ 
    List<Account> BankList = new List<Account>(); 

    public void AddAccount(params Account[] acc) 
    { 
        BankList.AddRange(acc); 
        for (int i = 0; i < acc.Length; i++) 
            Console.WriteLine("Have added: {0}", acc[i].ToString()); 
    } 

    public override string ToString() 
    { 
        string str = "\nBalance in bank:\n"; 
        for (int i = 0; i < BankList.Count; i++) 
            str += String.Format(BankList[i].ToString() + "\n"); 
        return str; 
    }

    // 新增的计算总余额方法
    public decimal GetTotalBalance()
    {
        decimal totalBalance = 0;
        foreach (var account in BankList)
        {
            totalBalance += account.GetBalance();
        }
        return totalBalance;
    }
}

内容的提问来源于stack exchange,提问作者user12124267

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:38:35