将以下内容转换为 lambda 表达式的方法是什么?
ThreadPool.QueueUserWorkItem(delegate
{
Console.WriteLine("Current Thread Id is {0}:",
Thread.CurrentThread.ManagedThreadId);
Console.WriteLine("I will be used as Callback");
}
);
Run Code Online (Sandbox Code Playgroud)
你绝对可以把它写成一个 lambda 表达式:
// The underscore is simply a placeholder for the "state"
// parameter that the WaitCallback delegate expects - you could
// use any character but you must specify one as lamba expressions cannot
// omit parameters like anonymous functions can.
ThreadPool.QueueUserWorkItem((_) =>
{
Console.WriteLine("Current Thread Id is {0}:",
Thread.CurrentThread.ManagedThreadId);
Console.WriteLine("I will be used as Callback");
});
Run Code Online (Sandbox Code Playgroud)
但请记住,lambda 表达式在源代码之外没有任何意义。C# 编译器会将您的 lambda 表达式立即转换回您现在拥有的代码。
lambda 表达式只是一种语法糖,您可以使用它来表达匿名函数——编译器会将其转换为匿名函数或表达式树。
| 归档时间: |
|
| 查看次数: |
641 次 |
| 最近记录: |