可能重复:
C# 中的内联函数?
在 c++ 中,我们可以强制函数内联。
这在c#中也可以吗?有时,当方法很小时,它会自动内联。但是有可能在 c#/.Net 中强制内联函数吗?
有点。确定打开不在您的直接控制之下。它从不在 IL 中内联 - 它仅由 JIT 完成。
您可以使用显式强制方法不被内联MethodImplAttribute
[MethodImpl(MethodImplOptions.NoInlining)]
public void Foo() { ... }
从 .NET 4.5 开始,您还可以进行“请求”内联:
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Foo() { ... }
......但你不能强迫它。(在 .NET 4.5 之前,该枚举值不存在。例如,请参阅.NET 4 文档。)