当前位置: 首页 > wzjs >正文

苏州建设建设信息网站独立站seo实操

苏州建设建设信息网站,独立站seo实操,全国最火的电商代运营公司,wordpress admin theme 下载定义与本质‌ ‌委托‌: 委托是一种类型,用于存储对方法的引用。它允许将方法作为参数传递、存储和调用。委托可以绑定一个或多个方法,并通过和-操作符动态添加或移除方法。‌ ‌事件‌: 事件是基于委托的封装,提供了一种发布/订阅机制。事件…
  1. 定义与本质‌
    ‌委托‌: 委托是一种类型,用于存储对方法的引用。它允许将方法作为参数传递、存储和调用。委托可以绑定一个或多个方法,并通过+=和-=操作符动态添加或移除方法。‌
    ‌事件‌: 事件是基于委托的封装,提供了一种发布/订阅机制。事件是特殊的委托,限制了外部代码对委托的直接访问和修改,只能通过+=和-=操作符订阅或取消订阅。‌
  2. ‌可访问性‌
    ‌委托‌: 委托对象是公开的,任何持有委托实例的代码都可以直接调用它所绑定的方法。
    ‌事件‌: 事件的委托实例仅能由定义事件的类触发,外部代码只能订阅或取消订阅,不能直接触发事件。
  3. 修改与触发‌
    ‌委托‌: 委托的实例可以随时被修改和触发。外部代码可以通过赋值的方式将不同的方法绑定到同一个委托上,也可以直接调用这些方法。
    ‌事件‌: 事件的委托实例不能直接修改。订阅者不能更改事件所绑定的委托对象,只能添加或移除事件处理程序。事件只能由定义事件的类触发。
  4. 目的与使用场景‌
    ‌委托‌: 委托常用于回调函数、异步编程、方法参数传递等场景。它允许在运行时动态调用不同的方法。‌
    ‌事件‌: 事件用于实现发布-订阅模式,通常用于通知多个订阅者某个事件的发生。例如,按钮点击事件、文件上传完成事件等。
  5. 封装与安全性‌
    ‌委托‌: 委托的封装性较低,外部代码可以直接访问和修改委托实例,可能导致安全性问题。
    ‌事件‌: 事件通过封装委托实例,提供了更高的安全性,确保外部代码不能直接修改或触发事件。

‌委托‌是一种灵活的方法引用机制,适用于需要动态调用方法的场景;而‌事件‌是基于委托的封装,提供了更安全的发布/订阅机制,适用于需要通知多个订阅者的场景。理解它们的区别有助于在C#编程中更合理地选择和使用这两种机制。

了解Action<T1,T2>与Func<T1,T2>的区别,首先要清楚有哪些常用的委托类型
委托类型

  1. Action:代表不返回值的方法。可以接受最多 16 个参数。
Action<string> printMessage = Console.WriteLine;
printMessage("Hello");
  1. Func:代表有返回值的方法。最多接受 16 个参数,第一个参数是输入参数,最后一个参数是返回值类型。
Func<int, int, int> add = (x, y) => x + y;
Console.WriteLine(add(3, 4));  // 输出 7
  1. Predicate:代表返回 bool 值的方法,通常用于条件判断。
Func<int, int, int> add = (x, y) => x + y;
Console.WriteLine(add(5, 3));  // 输出 8

‌Action<T1,T2>与‌Func<T1,T2>的主要区别在于它们所指向的方法是否有返回值。‌Action<T1,T2>‌用于指向那些没有返回值的方法,而‌Func<T1,T2>‌用于指向那些有返回值的方法。

定义和用法
‌Action<T1,T2>‌:这是一个委托类型,用于指向那些没有返回值的方法。它的签名是void Action<T1, T2>(T1 arg1, T2 arg2),表示这个委托可以指向接受两个参数且没有返回值的方法。
‌Func<T1,T2>‌:这是一个泛型委托类型,用于指向那些有返回值的方法。它的签名是TResult Func<T1, T2>(T1 arg1, T2 arg2),表示这个委托可以指向接受两个参数并返回一个结果的方法。
使用场景
‌Action<T1,T2>‌适用于那些不需要返回结果的操作,例如事件处理、日志记录等。
‌Func<T1,T2>‌适用于那些需要返回结果的操作,例如计算、转换等。
示例代码:

// 使用Action<int, int>的示例
Action<int, int> action = (a, b) => {Console.WriteLine($"The sum is {a + b}");
};
action(5, 3); // 输出: The sum is 8// 使用Func<int, int, int>的示例
Func<int, int, int> func = (a, b) => {return a + b;
};
int result = func(5, 3); // result为8
Console.WriteLine($"The sum is {result}"); // 输出: The sum is 8
http://www.dtcms.com/wzjs/465159.html

相关文章:

  • 兼职 网站 小程序 建设app推广拉新一手渠道
  • 门户网站的三大基本特征最好看免费观看高清大全
  • wordpress中引用js css样式搜狗seo快速排名公司
  • 西安北郊做网站网络营销策划的内容
  • 出口跨境电商有哪些平台吉林网络seo
  • 网站运营与管理期末考试答案阿里云云服务平台
  • 郑州城乡建设局官网seo优化中以下说法正确的是
  • 网站建设制作浩森宇特做企业网站建设公司哪家好
  • 学技术哪个行业最吃香seo需要什么技术
  • 中山市政府网站建设seo前线
  • 网站开发可退税百度大数据平台
  • 网站开发公司的义务seo网站推广软件排名
  • 建设银行网站注册用户名不通过网络营销方案ppt
  • 网页版传奇工作室搜索引擎优化需要多少钱
  • 做网站建设业务员好吗深圳百度推广联系方式
  • 国内做网站比较好的公司有哪些安卓优化大师清理
  • 个人网站 建设方案书百度网址收录提交入口
  • 汕头网站建设阜新网络推广
  • 江北网站制作合肥网络公司seo
  • 信誉好的集团网站建设种子搜索神器下载
  • 怎么用we做网站百度指数支持数据下载吗
  • 网站编辑转行做文案快速优化网站排名的方法
  • 无锡网站制作启营业推广策略有哪些
  • 专门做产品排名的网站网站推广服务
  • 滨州做网站公司seo网站系统
  • 哪个网站专门做二手电脑手机的百度快照提交入口
  • 广告公司网站制作百度普通下载
  • 二手车网站制作权重查询站长工具
  • wordpress交流seo现在还有前景吗
  • 外国可以做站外推广的网站sem竞价推广公司