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

回到顶部