永发信息网

c# 匿名函数分析

答案:2  悬赏:40  手机版
解决时间 2021-02-15 17:35
分析一下c#3.0的匿名函数,我知道使用=>后不必创建一个单独的方法,减少实例化委托所需的编码系统开销.但是不太清楚怎么用,和转换成一个简单的方法.请简单说明一下用途,用自己的语言描述,不要复制 资料网上多的是.
最佳答案
你说的那些仅仅是形式上是和委托一样,但是C#编译器在后台做了很多东西,匿名函数其实从简单的介绍的话,是没有名字的函数,更严格一些,匿名函数是闭包的一个实现,也就是C#通过兰步达表达式(匿名函数)实现了闭包,通过闭包,可以改变局部变量的声明周期,因此闭包有很多很特殊和奇妙的引用,这方面的知识你可以网上搜索一下,很多。
全部回答

c#的匿名函数一般和委托、事件等相联系。是从c#2.0的匿名函数演变的(准确讲,c#3.0之后是lumbda表达式):

有一个特殊的委托func,拿他开涮:

func<string> func = ()=>"hello world!";

实际上函数被编译成为这个样子:

func<string> func = delegate(){return "hello world!";}

进一步被解析成这个样子(内存中,匿名函数和方法):

func<string> func = new anoymousclass().anoymousmethod;

public class anoymousclass

{

   public string anoymousmethod()

  {

    return "hello world!";

  }

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
蓝一蔻造型会所地址在哪,我要去那里办事
城关镇上河南社区社会管理第二便民服务站这个
qq头像无法更换??
秦时丽人心明月心哪一集是赢政受伤了,丽姬去
崩坏3rd1.7版本20层深渊怎么打
炫发狂潮精品烫染店地址在什么地方,我要处理
碧什么澄什么成语
阿贝折射仪测量溶液浓度有单位吗
通辽市实力驾校机动车驾驶人考场在哪里啊,我
深圳搞it培训的是itjob好还是远标好?
大东女鞋是直销模式吗
《国家中长期教育改革和发展规划纲要(2010~2
李显或李隆基登基后有没有报复武氏,武氏大肆
清新干洗店我想知道这个在什么地方
农村个人土地转让一地两卖怎么处理
推荐资讯
【dldl】请问麦当劳DL的DL是什么意思啊?
(以赛亚书46:11)“我召鸷鸟从东方来,召那
歌词有 太空,两个字的女生粤语歌是什么
有个人吗!
金融业行业自律的主要内容包括( )。A.制定同
女,1989年农历正月初六,丑时生。想问问命理
以前在男朋友面前我什么话都说的出口,有什么
QQ发红包时输入密码有声音,怎么把它关掉呀,
下列关于荷兰式与美国式招标方式中,正确的有
中华保险浙江分公司拱墅区支公司地址在什么地
天天禾鲜奶吧大直路店怎么去啊,有知道地址的
红蜻蜓粮油专营店大坪店在哪里啊,我有事要去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?