Adding to Greg Beech's answer (because I've just been searching for that), if you want to use this from Linq you can use the OrderBy that takes an IComparer. E.g.:
var items = new List();
// fill items
var sorted = items.OrderBy(item => item.Name, new NaturalStringComparer());