如何在C#中强制内联函数?

可能重复:
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文档 。)