栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法在Lambda表达式中使用ref或out参数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法在Lambda表达式中使用ref或out参数

Lambda具有改变它们捕获的变量的生存期的外观。例如,以下lambda表达式使参数p1的 生存期
超过当前方法框架,因为在方法框架不再位于堆栈上之后可以访问其值

Func<int> Example(int p1) {  return () => p1;}

捕获的变量的另一个属性是,在lambda表达式之外,对变量的更改也可见。例如以下照片42

void Example2(int p1) {  Action del = () => { p1 = 42; }  del();  Console.WriteLine(p1);}

这两个属性产生一组特定的效果,这些效果以下列方式在ref参数的前面飞行

  • ref参数可能具有固定的生存期。考虑将局部变量作为ref参数传递给函数。
  • lambda中的副作用需要在ref参数本身上可见。在方法内和在调用方中。

这些属性在某种程度上是不兼容的,并且是lambda表达式中不允许使用它们的原因之一。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/568560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号