将“不安全”关键字应用于 C# 中的 lambda 表达式
Apply an `unsafe` keyword to a lambda expression in C#
为什么不能将 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 关键字。所以,我很想知道为什么它会被禁止。
考虑在 lambda 表达式上使用 local function instead, which has some advantages 并支持 unsafe
关键字:
using System;
public class Program
{
public static void Main()
{
unsafe void a(int i) => Console.WriteLine(i);
}
}
为什么不能将 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 关键字。所以,我很想知道为什么它会被禁止。
考虑在 lambda 表达式上使用 local function instead, which has some advantages 并支持 unsafe
关键字:
using System;
public class Program
{
public static void Main()
{
unsafe void a(int i) => Console.WriteLine(i);
}
}