当前位置: 代码迷 >> C# >> 请教这句话如何解读?多谢
  详细解决方案

请教这句话如何解读?多谢

热度:37   发布时间:2016-05-05 03:47:48.0
请问这句话怎么解读?谢谢!
请问这句话怎么解读?谢谢!
    
clientData.Messages = PageDAL.DeliverMessages(userId).OrderBy(x => x.PublishDate).Select(x => new ClientMessage(x, protocol)).ToList();

x=>是什么意思?谢谢!
------解决思路----------------------
↓是MSDN官方的解释
=>运算符(C#参考)

我试图用自己的语言给你解答,写出来感觉很拗口
算了,坐等高手用平实的语言解答吧
权当抛砖引玉:-)



------解决思路----------------------
x => x.PublishDate 等同于
functionName(x)
{
   return x.PublishDate;
}
x => new ClientMessage(x, protocol) 等同于
functionName(x)
{
  return new ClientMessage(x, protocol);
}
其中functionName是函数名,可以随便取.Linq中大量使用lamda表达式,而lamda表达式实际上就是匿名委托,所以可以直接翻译成下面对应的函数.其中x的类型可以由系统自动推断出,所以在lamda表达式中可以不指明.
  相关解决方案