C#中的委托实际中的应用
C#中的委托一个应用很广的东西,这次在这做个记录
delegate double Delcalc(double x, double y); public class DelegateDemo { public double Add(double x ,double y) { return x+y; } public double Dec(double x, double y) { return x - y; } public double Mul(double x, double y) { return x * y; } public double Div(double x, double y) { return x / y; } }
public class Program { static void Main(string[] args) { double result = 0; DelegateDemo temp = new DelegateDemo(); //委托变量定义的第一种调用方法 //Delcalc cal = new Delcalc(temp.Add); //result=cal(5, 3); //Console.WriteLine(result); //Console.ReadLine(); //委托变量定义的第二种调用方法 //Delcalc cal = temp.Dec; //Delcalc cal = temp.Div; //Test(cal); // 委托变量定义的第三种调用方法 //Test(new Delcalc(temp.muilt)); // 委托变量定义的第四种调用方法 //Test(temp.Div); //Action a = SayHi; //a(); //Action<string> a = SayHi; //a(" wang jing"); Func<double, double, double> f = temp.Dec; result=f(2, 9); Console.WriteLine(result); Console.ReadLine(); } static void Test(Delcalc del) { Console.Write("请输入X:"); double x =double.Parse(Console.ReadLine()); Console.Write("请输入y:"); double y = double.Parse(Console.ReadLine()); double result = del(x,y); Console.WriteLine($"计算结果:{result}"); Console.ReadLine(); } static void SayHi() { Console.WriteLine($"你好"); Console.ReadLine(); } static void SayHi(string name) { Console.WriteLine($"你好{name}"); Console.ReadLine(); } /* 使用委托的三个步骤: 1:定义委托 2:实例化委托 3:执行委托 */ /* 泛型委托: Action:无返回值的委托 Func:有返回值委托 Func<T1,T2,T3>注:T1,T2为输入参数类型,T3为返回值类型 */ }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现