正在查找C#语法的名称

本文关键字:语法 查找 | 更新日期: 2023-09-27 17:58:23

我离开C#已经有一段时间了,现在我正在尝试阅读一些代码,我很难找到它的含义:

var server = new WebSocketServer("ws://localhost:8181");
server.Start(socket =>
{
    socket.OnOpen = () =>
    {
        Console.WriteLine("Open!");
        allSockets.Add(socket);
    };
    socket.OnClose = () =>
    {
        Console.WriteLine("Close!");
        allSockets.Remove(socket);
    };
    socket.OnMessage = message =>
    {
        Console.WriteLine(message);
        allSockets.ToList().ForEach(s => s.Send("Echo: " + message));
    };
});

socket => { .. }语法的名称是什么?在哪里可以找到一些文本?它是在C#的哪个版本中引入的?= () => { .. }是否相同?

正在查找C#语法的名称

它是一个lambda表达式,基本上是定义委托的快捷方式,委托是匿名方法。它与LINQ一起在C#3中引入,使其使用更加简单。语法如下:

parameters => body

通常编译器可以以某种方式推断参数的类型,这就是为什么您只能看到参数的名称。

在c#中,此语法称为Lambda表达式。它们从C#3.0 开始提供

更多关于:

微软编程指南解释lambda表达式

C#Lambda表达式:我为什么要使用它们?

以及programmershipven.com

的示例