Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >AI写作

c#题例-2025-08-23 06:33:16

编写一个C#程序,模拟一个简单的“银行账户管理系统”,要求如下:

1. 创建一个`BankAccount`类,包含以下成员:
- 账户名(`string AccountName`)
- 账户余额(`decimal Balance`)
- 存款方法(`void Deposit(decimal amount)`)
- 取款方法(`bool Withdraw(decimal amount)`)

2. 实现线程安全的存款和取款操作,确保在多线程环境下不会出现数据竞争或余额不一致的问题。

3. 创建一个静态类`AccountManager`,其中包含一个方法:
- `static void Transfer(BankAccount fromAccount, BankAccount toAccount, decimal amount)`
实现从一个账户转账到另一个账户的功能,确保转账过程具有原子性。如果`fromAccount`余额不足或发生异常,应保证系统状态一致(即要么全部完成,要么完全不执行)。

4. 编写测试代码,创建多个线程同时对同一组账户进行并发转账操作,程序运行结束后应确保最终账户余额正确,并输出每次转账的详细日志(如线程ID、操作类型、金额、前后余额等)。

要求:
- 使用lock、Monitor、或其它同步机制确保线程安全。
- 不使用C#的async/await或数据库事务机制。
- 代码结构清晰、可读性强,符合C#编码规范。

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇:无

下一篇: c#题例-2025-08-23 00:59:57

精华推荐