С#银行类别和总存款金额的计算方法

时间:2019-11-19 13:16:54

标签: c# class oop

我有银行类,有三个所有者及其余额。  所以我需要写一种方法来计算存款总额,但是我不知道怎么做。我可以帮忙吗?而且该方法应该在接口中

public interface IAccount
{
    decimal GetBalance();

}
public class Account : IAccount
{
    private string owner;
    private decimal balance;

    public Account(string owner, decimal balance)
    {
        this.owner = owner;
        this.balance = balance;
    }

    public string Getowner()
    {
        return owner;
    }
    public decimal GetBalance()
    {
        return balance;
    }

    public override string ToString()
    {
        return String.Format("Owner: {0},Balance: {1}", owner, balance);
    }

}
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;
    }
}

2 个答案:

答案 0 :(得分:1)

您可以将存款存储到一个列表变量中,然后遍历该列表,将每个存款添加到currentBalance变量中。

您可以将其放置在要存储存款的位置,例如银行类

List<decimal> deposits = new List<decimal>():

然后调用您的GetBalance方法并将其传递给您的列表:

GetBalance (List<decimal> balances) 
{
     decimal currentBalance = 0;

     foreach (var balance in balances)
     {
           currentBalance += balance;
     }

      return currentBalance;
}

这样一来,您可以累加所有存款并找到余额,如果需要对所有帐户进行此操作,则可以用类似的方式对帐户列表进行循环,并在循环外声明变量。 / p>

答案 1 :(得分:1)

“因此,我需要编写一种用于计算存款总额的方法”

public decimal GetTotalAmount()
{
    return BankList.Sum(x => x.GetBalance());
}

“并且此方法应该在接口中”

public interface IBank
{
    decimal GetTotalAmount();
}

然后实现界面...

public class Bank : IBank