Home

Search

C# Array.Sort: Keys, Values and Ranges

Use the Array.Sort method to order array elements based on keys, values and ranges.

dot net perls

Array.Sort. This method orders elements in an array. It modifies the array in-place. It handles different types of elements, including strings and ints.Sort

A key advantage. Array.Sort has some important features. We can sort 2 arrays at once: one is used as the keys array, and a second is used as the values array.Array

First example. This program allocates an array of 4 integers. Next it calls the Array.Sort method. This sorts the elements in-place—we do not need to assign a variable.Int Array
Write: We enumerate the integers in the sorted array, printing them to the console.
Console
C# program that uses simple Array.Sort overload using System; class Program { static void Main() { // Simple sort call. int[] values = { 4, 7, 2, 0 }; Array.Sort(values); foreach (int value in values) { Console.Write(value); Console.Write(' '); } Console.WriteLine(); } } Output 0 2 4 7

Array reference. This program creates an array. Then it references the newly-created int array as an Array. We can do this because the int[] type is derived from the Array type.
Next: This Array reference is passed to the Array.Sort method, which can sort the elements.
And: Before program completion, we display the sorted elements in the Array reference.
C# program that uses Array reference type using System; class Program { static void Main() { // Sort Array reference. int[] values = { 4, 7, 2, 0 }; Array array = values; Array.Sort(array); foreach (int value in array) { Console.Write(value); Console.Write(' '); } Console.WriteLine(); } } Output 0 2 4 7

Keys, values. We declare two arrays (keys and values) and set the elements in them. Next we call the Array.Sort overload that accepts two arrays.
Arguments: We call Array.Sort with 2 array arguments. The first is the keys array and the second, the values array.
Finally: The program prints out the keys array in its sorted order, and the values array in its sorted order.
C# program that sorts keys and values using System; class Program { static void Main() { // Sort keys and values. int[] keys = { 4, 7, 2, 0 }; int[] values = { 1, 2, 3, 4 }; Array.Sort(keys, values); foreach (int key in keys) { Console.Write(key); Console.Write(' '); } Console.WriteLine(); foreach (int value in values) { Console.Write(value); Console.Write(' '); } Console.WriteLine(); } } Output 0 2 4 7 4 3 1 2

Range example. This program creates an integer array upon the managed heap. Then, it calls the Array.Sort method with three arguments.
Arguments: These are the array reference (int[]), the starting index (0) and the number of elements to sort past that index.
Note: This program uses 0, 3 to sort only the first three elements. It sorts a range of elements.
Tip: You can see in the results that the first three elements are sorted in ascending numeric order.
And: The fourth element 0 is still at the end because it was not included in the sorting operation.
C# program that sorts range of elements using System; class Program { static void Main() { // Sort range of elements. int[] values = { 4, 7, 2, 0 }; Array.Sort(values, 0, 3); foreach (int value in values) { Console.Write(value); Console.Write(' '); } Console.WriteLine(); } } Output 2 4 7 0

A summary. Array.Sort has many overloads. We can modify the arguments to invoke the more sophisticated versions of the method. The List's Sort() method internally calls Array.Sort.Sort List

Home

© 2007-2020 sam allen. send bug reports to info@dotnetperls.com.