在java中我可以写:
Comparator.comparing(Match::getDate)
.thenComparing(Match::hashCode)
.thenComparing ...
而不是必须写
Comparator.comparing(m -> m.getDate())
.thenComparing(m -> m.hashCode())
.thenComparing ...
C#中是否有类似的速记,将成员函数称为lambda表达式?
在Java中,::
表示法称为方法参考。C#中的方法参考没有直接等效,但是与C#中最接近的表示是成员组,它使您可以简化一些满足某些要求的lambda表达式。
这是一个很好的阅读:https://www.jetbrains.com/help/resharper/convertclosuretomethodgroup.html
没有方法组:
private static int[] ParseInt(string s)
{
var t = ParseString(s);
var i = t.Select(x => int.Parse(x));
return i.ToArray();
}
使用方法组:
private static int[] ParseInt(string s)
{
var t = ParseString(s);
var i = t.Select(int.Parse);
return i.ToArray();
}