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
相关产品推荐
相关产品推荐

