创建内联函数和宏

Tra*_*uer 3 c# macros inline function

我知道这是错误的(尝试以 C/C++ 思维方式使用 C# 进行编码)。但是是否可以在 C# 中创建内联函数/内联递归函数(直到第 N 次调用)/宏?

因为如果我打算调用同一个函数 1000 次,但它是一个简单的函数,那么创建堆栈的开销是相当大的......而且是不必要的。

在 C 中我可以使用内联函数。C#中有类似的东西吗?

再说一次...我并不是说 C/C++ 更好...我只是 C# 新手,没有人问这些简单的问题...

Lam*_*a λ 5

C# 中的内联函数?

最后,在 .NET 4.5 中,CLR 允许使用MethodImplOptions.AggressiveInlined值强制方法内联。它也可以在 Mono 的主干中使用(今天已提交)。

[MethodImplAttribute(MethodImplOptions.AggressiveInlining)] 
void Func()
{
    Console.WriteLine("Hello Inline");
}
Run Code Online (Sandbox Code Playgroud)