private int Compare(String part1, String part2) { int i1, i2; if (int.TryParse(part1, out i1) && int.TryParse(part2, out i2)) { return i1.CompareTo(i2); } return part1.CompareTo(part2); }