2026-05-16 優化 C# BankAccount bankAccount = new BankAccount();

2026-05-16 優化 C# BankAccount bankAccount = new BankAccount();

我:
BankAccount bankAccount = new BankAccount();
bankAccount.Deposit(22908);
bankAccount.GetBalance();
bankAccount.Deposit(11201);
bankAccount.GetBalance();
bankAccount.Deposit(2333);
bankAccount.GetBalance();
這個能優化嗎?

GPT:
當然可以優化!目前的代碼中,你每次都呼叫 Deposit 方法後再呼叫 GetBalance 方法,這導致每次操作都需要分開來完成。可以通過幾種方式來優化這段代碼,使其更加簡潔和高效。

方法 1:使用循環簡化重複操作

你可以將需要存款的金額存放在一個陣列或集合中,然後使用迴圈來遍歷這些金額並進行存款和查詢餘額。這樣可以避免多次重複撰寫同樣的呼叫語句。

1
2
3
4
5
6
7
8
BankAccount bankAccount = new BankAccount();
int[] deposits = { 22908, 11201, 2333 };

foreach (int amount in deposits)
{
bankAccount.Deposit(amount);
Console.WriteLine($"目前餘額: {bankAccount.GetBalance()} 元");
}

這樣做可以讓代碼更加簡潔且更易於維護。如果你有更多金額需要存入,只需更新 deposits 陣列的內容即可。

方法 2:修改 Deposit 方法使其返回餘額

另一種優化方式是修改 Deposit 方法,讓它直接返回更新後的餘額,這樣就不需要分開呼叫 GetBalance 方法來查詢餘額了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class BankAccount
{
private decimal balance;

public decimal Deposit(decimal amount)
{
if (amount > 0)
{
balance += amount;
Console.WriteLine($"存入 {amount} 元,目前餘額為 {balance} 元");
}
return balance;
}

public decimal GetBalance()
{
return balance;
}
}

// 呼叫代碼
BankAccount bankAccount = new BankAccount();
bankAccount.Deposit(22908);
bankAccount.Deposit(11201);
bankAccount.Deposit(2333);

在這個範例中,Deposit 方法在完成存款操作後會直接返回餘額並顯示出來,因此你不需要再額外呼叫 GetBalance 方法。

方法 3:使用一個自定義方法來進行存款和查詢餘額

你也可以創建一個自定義方法,用來一次性處理存款和查詢餘額的操作,這樣可以減少主程式中的重複代碼。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class BankAccount
{
private decimal balance;

public void Deposit(decimal amount)
{
if (amount > 0)
{
balance += amount;
}
}

public decimal GetBalance()
{
return balance;
}

// 自定義方法來存款並顯示餘額
public void DepositAndDisplayBalance(decimal amount)
{
Deposit(amount);
Console.WriteLine($"存入 {amount} 元,目前餘額為 {balance} 元");
}
}

// 呼叫代碼
BankAccount bankAccount = new BankAccount();
bankAccount.DepositAndDisplayBalance(22908);
bankAccount.DepositAndDisplayBalance(11201);
bankAccount.DepositAndDisplayBalance(2333);

在這裡,DepositAndDisplayBalance 方法將存款和顯示餘額的操作合併到一起,這樣可以避免在主程式中多次撰寫相同的呼叫。

總結

  • 方法 1:使用循環簡化重複操作,適合多次對同一操作進行不同值的情況,可以使代碼更加簡潔。
  • 方法 2:修改 Deposit 方法使其返回餘額,使每次存款後直接獲得更新的餘額,減少對 GetBalance 的多餘呼叫。
  • 方法 3:創建自定義方法來合併操作,將存款和顯示餘額的功能放在一起,讓程式更具可讀性。

你可以根據需要選擇最合適的方法來優化代碼。如果還有其他需求,隨時告訴我!