C# Array.Sort Examples

Sorted letters: A through Z

Array.Sort orders elements in an array. It provides a simple way to sort the elements in an array. It handles different types of elements, including strings and ints. And it has an efficient implementation.

These C# example programs demonstrate the Array.Sort method. Array.Sort has many overloads.

Example

Array type

To start, this program allocates an array of four integers that are not already sorted in any way. Next, it calls the Array.Sort method; this sorts the elements in-place, meaning you do not need to acquire a new array reference. Then, we enumerated the integers in the sorted array, printing them to the console.

Program that uses simple Array.Sort overload [C#]

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 of four integer elements upon the managed heap. Then, it references the int[] array as an Array; this is 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. Before program completion, we display the sorted elements in the Array reference.

Program that uses Array reference type [C#]

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 and values

KeyValuePair (Key and Value properties)

In this example, we declare two arrays (keys and values) and set the elements in them. Next, we call the Array.Sort overload that accepts two arrays: the first array 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.

Program that sorts keys and values [C#]

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 of elements

This program declares and allocates an integer array upon the managed heap. Then, it calls the Array.Sort method with three arguments: the array reference (int[]), and also the starting index (0) and the number of elements to sort past that index. This program uses 0, 3 to sort the first three elements only.

Program that sorts range of elements [C#]

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

Note: You can see in the results that the first three elements are sorted in ascending numeric order; the fourth element 0 is still at the end because it was not included in the sorting operation.

Summary

The C# programming language

The Array.Sort method has many overloads, which are shown in this article. The basic approach to calling the Array.Sort method is demonstrated; you can modify the arguments to invoke the more sophisticated versions of the method. Finally, other types such as the List type provide sorting methods that internally call Array.Sort.

Sort List Method Sort Examples
.NET