1.问题分析
要求使用c#委托与事件实现定时自动从用户的信用卡中扣款还款的功能
2.核心代码
using System;
namespace Con
{
class Credit
{
public double _loan;
public Credit(double loan)
{
_loan = loan;
}
}
// 第二个类
class Bankcard
{
public double _balance;
public Bankcard(double balance)
{
_balance = balance;
}
}
delegate double Call(ref double n1, ref double n2);
public class Re
{
public static double Returnloan2(ref double loan, ref double balance)
{
balance = balance - loan;
return balance;
}
public static double Returnloan3(ref double loan, ref double balance)
{
loan = loan - balance;
balance = 0;
return loan;
}
}
class Program
{
static void Main(string[] args)
{
Credit objc1 = new Credit(30000);
Bankcard objb1 = new Bankcard(5000);
Credit objc2 = new Credit(10000);
Bankcard objb2 = new Bankcard(20000);
Console.WriteLine("已到还款时间,请还款");
if (objc1._loan > objb1._balance)
{
Call u = Re.Returnloan3;
double result = u(ref objc1._loan, ref objb1._balance);
Console.WriteLine("A.银行卡余额不足,还欠款: " + result);
}
if (objc1._loan <= objb1._balance)
{
Call u = Re.Returnloan2;
double result = u(ref objc1._loan, ref objb1._balance);
Console.WriteLine("A.还款成功,银行卡余额为:" + result);
}
if (objc2._loan > objb2._balance)
{
Call u = Re.Returnloan3;
double result = u(ref objc2._loan, ref objb2._balance);
Console.WriteLine("B.银行卡余额不足,还欠款: " + result);
}
if (objc2._loan <= objb2._balance)
{
Call u = Re.Returnloan2;
double result = u(ref objc2._loan, ref objb2._balance);
Console.WriteLine("B.还款成功,银行卡余额为:" + result);
}
}
}
}
3.截图
4.代码仓库地址
https://gitee.com/hbdxzxc/task