C#中的内联函数?
您如何在C#中执行“内联函数”?我认为我不了解这个概念。他们喜欢匿名方法吗?像lambda函数一样?
:答案几乎完全涉及内联函数的功能,即“用被调用者的主体替换函数调用站点的手动或编译器优化”。如果您对匿名(又名lambda)函数感兴趣,请参阅@jalf的答案,或者每个人都在谈论这个“
Lambda”?。
回答:
最后,在.NET
4.5中,CLR允许使用值暗示/建议1方法内联MethodImplOptions.AggressiveInlining
。它也可以在Mono的后备箱中使用(今天提交)。
// The full attribute usage is in mscorlib.dll,// so should not need to include extra references
using System.Runtime.CompilerServices;
...
[MethodImpl(MethodImplOptions.AggressiveInlining)]
void MyMethod(...)
。以前在这里使用“力”。由于有一些反对意见,我将尝试澄清这个词。如评论和文档中所述,The method should be inlined
if
possible.特别是考虑到Mono(已公开),存在一些特定于Mono的技术限制,其中考虑了内联或更普遍的限制(例如虚拟功能)。总体而言,是的,这是对编译器的提示,但我想这正是所要的。
以上是 C#中的内联函数? 的全部内容, 来源链接: utcz.com/qa/421954.html