You can sort a one-dimensional array of elements using the static Array.Sort method. This requires that the underlying type of the array elements implements the IComparable interface. Types that implement IComparable include: all built-in numeric types (e.g. int, float, double), char, string and DateTime types.
Here’s an example that sorts an array of integers:
1
2
3
4
5
| int[] nums = new int[5];nums[0] = 3; nums[1] = 2; nums[2] = 4;nums[3] = 1; nums[4] = 0;Array.Sort(nums); // Elements now: 0, 1, 2, 3, 4 |
Here’s an example of sorting an array of strings:
1
2
3
4
5
6
| string[] emps = new string[4];emps[0] = "Augustus";emps[1] = "Tiberius";emps[2] = "Caligula";emps[3] = "Claudius";Array.Sort(emps); // Augustus, Caligula, Claudius, Tiberius |
You can’t sort an array of objects, if the element type does not implement IComparable:
1
2
3
4
| Cat[] cats = new Cat[2];cats[0] = new Cat("Garfield", "Sleep all day");cats[1] = new Cat("Buster", "Scratch everything");Array.Sort(cats); // throws InvalidOperationException |

