为什么不能将 unsafe
关键字应用于 C# 中的 lambda 表达式?
这是我尝试过的:
using System;
public class Program
{
public static void Main()
{
Action<int> a = unsafe i => Console.WriteLine(i);
}
}
这是 fiddle :https://dotnetfiddle.net/nBI0dX .
这是我得到的错误:
Invalid expression term 'unsafe'
我仅出于学习目的需要它。我正在学习 .NET,看不出有什么理由禁止在 lambda 表达式之前使用 unsafe 关键字。所以,我很想知道为什么它可能被禁止。
最佳答案
考虑使用 local function相反,它有 some advantages通过 lambda 表达式并支持 unsafe
关键字:
using System;
public class Program
{
public static void Main()
{
unsafe void a(int i) => Console.WriteLine(i);
}
}
关于c# - 将 `unsafe` 关键字应用于 C# 中的 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60002299/