How do I sort an array of custom classes?
.net, arrays, c#, c#-2.0, sorting
Solution
If you implement `IComparable<Donator>` You can do it like this:
public class Donator :IComparable<Donator>
{
public string name { get; set; }
public string comment { get; set; }
public double amount { get; set; }
public int CompareTo(Donator other)
{
return amount.CompareTo(other.amount);
}
}
You can then call sort on whatever you want, say:
var donors = new List<Donator>();
//add donors
donors.Sort();
The `.Sort()` calls the `CompareTo()` method you implemented for sorting.
There's also the lambda alternative without `IComparable<T>`:
var donors = new List<Donator>();
//add donors
donors.Sort((a, b) => a.amount.CompareTo(b.amount));
Problem
I have a class with 2 strings and 1 double (amount). class Donator - string name - string comment - double amount Now I have a Array of Donators filled. How I can sort by Amount?