C# Arrays
We previously outlined how variables work: they hold one value. But what if you want to hold more than one value? That’s where arrays come in. Arrays can hold multiple values of the same data type.
Syntax
<data type>[] arrayname;
or
<data type>[] arrayname = new <data type> [array size] {values};
The square brackets here mean that this is an array. Create a new C# project and name it Arrays.
Example
string [] car = new string [5]{"Audi", "BWM", "Ferrari", "Dodge", "Lexus"}; Console.WriteLine(car [1]); Console.ReadLine();
You should see it print out:
When you want to access a value from the array you use integer index. So when we called the first value from the array car we called car[1] it then printed out BMW. You might wonder why it did not print out Audi; this is because the list actually starts from 0 (0, 1, 2 3 etc.). Additionally, the numbers of values in the brackets (it’s currently 5) must match the array size, so if you added another car company, for example Honda, it would give a compile-time error. When you declare the array type like ‘string’ or ‘integer’, you cannot store a double or any other data type.
Looping through arrays
Using a foreach statement you can loop through an array and get all the values.
Example
string[] cars = new string[] { "Audi", "BMW", "Toyota", "Honda", "Lexus" }; foreach (var car in cars) { Console.WriteLine(car); } Console.ReadLine();
Code Explained
- Create an array of strings
- Use a foreach statement and loop through them
- Print out each array
Sorting Arrays
Arrays can be sorted in order, either ascending or descending. You use the sort() method to sort the array.
Syntax
Array.Sort(arrayname);
Example
string[] cars = new string[] { "Audi", "BMW", "Toyota", "Honda", "Lexus" }; Array.Sort(cars); foreach (var car in cars) { Console.WriteLine(car); } Console.ReadLine();
As before, this will output the arrays but in alphabetical order.
This time we will sort the arrays but descending:
string[] cars = new string[] { "Audi", "BMW", "Toyota", "Honda", "Lexus" }; Array.Sort(cars); Array.Reverse(cars); foreach (var car in cars) { Console.WriteLine(car); } Console.ReadLine();
The arrays here will be in descending order.
Array of any size
In the above example the array has a size of 5, however you can create an array of any size.
Syntax
string[] <array name> = {array items};
Example
string[] chocolates = { "Snickers", "Bounty", "Twix", "Flake", "Twirl" }; Console.WriteLine(chocolates[0]); Console.ReadLine();
The output for this will be Snipers.
Converting String to Array
You can use the ToCharArray() method to convert a string to an array.
Example
string text = "Hello World!"; char[] myText = text.ToCharArray(); Array.Reverse(myText); Console.WriteLine(myText); Console.ReadLine();
Code Explained
- First we create a variable called ‘text’
- Next we take one letter and put it into an array
- Then reverse the order and print out the result
Output
Here text appears backwards.
Try It!
Summary
Arrays are useful when you want to store multiple values in a variable. This tutorial covered how to loop through arrays as well as perform basic array functions. See the C# and Visual Basic Slideshow; this small application primarily uses arrays.