How to sort items in a list in C#

Sorting lists in C# with support of the interface IComparable

for example we have objects from the class TestItem in a list


public class TestItem
{
private int sortByMe;
}

Here is the list definition

private List testItems = new List();

In order to sort it using the internal members of the class TestItem (i.e. sortByMe field) , the class must inherit from IComparable interface and implement its single method


public int CompareTo(object other)
{
//first check that we compare againt the same type
if(!( other is TestItem)){
return 0;
}
TestItem otherItem = (TestItem)other;
if (otherItem.sortByMe> this.sortByMe)
return -1;
if (otherItem.sortByMe< this.sortByMe)
return 1;
return 0; // they are equal
}

Now to do the actual sorting we use this code

testItems.Sort();