https://www.infoworld.com/article/3182416/c-7-in-depth-exploring-local-functions.html
我真的需要确切地知道以下代码应该如何本地函数。
我是 0% IL 代码/MSIL 经验。
public static void Display(string str)
{
int ctr = 5;
DisplayText();
void DisplayText ()
{
for(int i = 0; i < ctr; i++)
Console.WriteLine(str);
}
}
我需要从以前的代码中知道的问题:
- 如果我们调用主函数
Display()
,本地函数是否DisplayText()
总是在主函数调用时生成?或者它在 C# 中创建为假本地函数,但在 MSIL 中它生成为全局函数? - 在lamda表达法中?和上面一样吗?
- 依赖本地函数是否安全?还是我们无论如何都不要使用它。(性能可能idk)
编辑:-我认为本地属性(尚不存在或可能......)。它有时也很有用。您可以在与本地属性相同的方法中进行一些计算。与前面的示例一样,但 DisplayText 是属性。希望他们也添加它。