C#-列表排序-x和y

C#-列表排序-x和y,c#,.net,linq,list,lambda,C#,.net,Linq,List,Lambda,我有这个代码,我知道它正在对列表进行排序lstDMV。但是请帮我把它分解一下 lstDMV.Sort((x, y) => DateTime.Compare(x.NotifDate, y.NotifDate)); =>是什么意思?基于compare函数返回的整数,它是如何工作的 如果我对整数而不是日期进行排序,如何对我的lstDMV进行排序。 对于比较本身,请务必查看该方法。请参见其返回值: t1早于t2 0-->t1与t2相同 >0-->t1晚于t2 它被称为。来自MSDN =>标记称

我有这个代码,我知道它正在对列表进行排序
lstDMV
。但是请帮我把它分解一下

lstDMV.Sort((x, y) => DateTime.Compare(x.NotifDate, y.NotifDate));
=>
是什么意思?基于compare函数返回的整数,它是如何工作的

如果我对整数而不是日期进行排序,如何对我的
lstDMV
进行排序。 对于比较本身,请务必查看该方法。请参见其返回值:

  • <0-->t1早于t2
  • 0-->t1与t2相同
  • >0-->t1晚于t2
    • 它被称为。来自MSDN

      =>标记称为lambda运算符。它用于lambda 表达式将左侧的输入变量与 右侧的lambda车身。Lambda表达式是内联的 与匿名方法相似但更灵活的表达式;他们是 广泛用于以方法语法表示的LINQ查询

      对于排序操作,使用如下方法

      lstDMV.Sort((int1, int2) => int1.CompareTo(int2));
      

      中的lambda运算符
      =>

      lstDMV.Sort((x, y) => DateTime.Compare(x.NotifDate, y.NotifDate));
      
      基本上创建一个新的delegare,其中包含一段要执行的代码。x和y作为参数经过

      通过将代码更改为,可以对int列表进行排序

      lstDMV.Sort((x, y) => x.CompareTo(y));
      

      =>是一个lambda表达式运算符,您可以将其视为javascript中的匿名函数

      在这种情况下

      lstDMV.Sort((x,y)=>DateTime.Compare(x.NotifDate,y.NotifDate)); 它正在创建一个用作排序事件处理程序的函数。
      编译器可以推断x和y的类型,因为它知道闭合delelegate的定义。

      首先,这些是Lambda表达式。 现在谈谈你的问题: =>是定义返回值的运算符

      在您的情况下,
      (x,y)
      将返回
      日期时间的值。比较(x.NotifDate,y.NotifDate)
      。 现在,列表的
      Sort()
      -函数将根据
      DateTime.Compare(x.NotifDate,y.NotifDate)
      的值对列表进行排序

      请看MSDN文章: 这很有帮助。

      (其他人已经回答了你问题的部分)

      如果我对整数而不是日期排序,如何对lstDMV排序


      你可能想读一读。他们称之为多么巧合的评论:D
      ints.Sort((i1, i2) => i1.CompareTo(i2));