 <p>Linq is your friend. You can re-write all that code in 1 line:</p> <pre><code>peeps.OrderBy(x =&gt; x.Age).ThenBy(x =&gt; x.LastName); </code></pre> <p>That's all there is to it :). You can get rid of all that IComparable junk, that's old school.</p> <p>EDIT: for IComparable, you can do:</p> <pre><code> public int CompareTo(object obj) { Person other = (Person)obj; if (age &lt; other.age) return -1; if (String.Compare(vorname, other.vorname) &lt; 0) return -1; return 1; } </code></pre> <p>Seems to work for my quick testing, but test it more :).</p>