Anonymous IComparer implementation

前端 未结 8 961
一整个雨季
一整个雨季 2021-02-03 17:57

Is it possible to define an anonymous implementation of IComparer?

I believe Java allows anonymous classes to be defined inline - does C#?

Looking at this code I

相关标签:
8条回答
  • 2021-02-03 18:21

    As indicated in one of the comments below, .Net 4.5 allows this via a static method on the Comparer<> class, e.g. comparing two objects based on the value of a property in the class:

    var comparer = Comparer<KilowattSnapshot>.Create( 
            (k1, k2) => k1.Kilowatt.CompareTo(k2.Kilowatt) );
    

    Obviously this can be used inline rather than assigned to a variable.

    0 讨论(0)
  • 2021-02-03 18:23

    The .NET framework version 4.5 provides the method Comparer.Create(Comparison) to create comparers based on a specified comparison delegate (which can be a lambda function). However people who are working with earlier versions of .NET will probably need to implement something similar themselves.

    0 讨论(0)
提交回复
热议问题