正在查找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#的哪个版本中引入的?= () => { .. }
是否相同?
它是一个lambda表达式,基本上是定义委托的快捷方式,委托是匿名方法。它与LINQ一起在C#3中引入,使其使用更加简单。语法如下:
parameters => body
通常编译器可以以某种方式推断参数的类型,这就是为什么您只能看到参数的名称。
在c#中,此语法称为Lambda表达式。它们从C#3.0 开始提供
更多关于:
微软编程指南解释lambda表达式
C#Lambda表达式:我为什么要使用它们?
以及programmershipven.com