Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

Array Methods in C#

Introduction

Arrays are a fundamental data structure in C# that allow you to store multiple items of the same type together. Array methods are built-in functions that help you perform various operations on arrays, such as searching, sorting, and modifying elements. This tutorial will cover a range of array methods available in C#, providing detailed explanations and examples for each.

1. Initializing Arrays

Before we dive into array methods, let's see how to initialize arrays in C#:

int[] numbers = new int[] { 1, 2, 3, 4, 5 };
string[] fruits = new string[] { "Apple", "Banana", "Cherry" };

2. Length Property

The Length property gets the total number of elements in the array.

int[] numbers = { 1, 2, 3, 4, 5 };
Console.WriteLine(numbers.Length); // Output: 5

3. Accessing Elements

Elements in an array can be accessed using their index.

int[] numbers = { 1, 2, 3, 4, 5 };
Console.WriteLine(numbers[0]); // Output: 1
Console.WriteLine(numbers[4]); // Output: 5

4. Iterating Through Arrays

You can iterate through arrays using loops such as for and foreach.

int[] numbers = { 1, 2, 3, 4, 5 };
for (int i = 0; i < numbers.Length; i++) {
    Console.WriteLine(numbers[i]);
}

// Using foreach loop
foreach (int number in numbers) {
    Console.WriteLine(number);
}

5. Array.Sort Method

The Sort method sorts the elements in an array in ascending order.

int[] numbers = { 5, 3, 8, 1, 2 };
Array.Sort(numbers);
foreach (int number in numbers) {
    Console.WriteLine(number); // Output: 1 2 3 5 8
}

6. Array.Reverse Method

The Reverse method reverses the order of the elements in the array.

int[] numbers = { 1, 2, 3, 4, 5 };
Array.Reverse(numbers);
foreach (int number in numbers) {
    Console.WriteLine(number); // Output: 5 4 3 2 1
}

7. Array.IndexOf Method

The IndexOf method returns the index of the first occurrence of a specified element.

int[] numbers = { 1, 2, 3, 4, 5 };
int index = Array.IndexOf(numbers, 3);
Console.WriteLine(index); // Output: 2

8. Array.Contains Method

The Contains method is used to check if an array contains a specific element. Note: This method is available in System.Linq namespace.

using System.Linq;

int[] numbers = { 1, 2, 3, 4, 5 };
bool contains = numbers.Contains(3);
Console.WriteLine(contains); // Output: True

9. Array.Find Method

The Find method returns the first element that matches the specified conditions.

int[] numbers = { 1, 2, 3, 4, 5 };
int result = Array.Find(numbers, element => element > 3);
Console.WriteLine(result); // Output: 4

10. Array.FindAll Method

The FindAll method returns all the elements that match the specified conditions.

int[] numbers = { 1, 2, 3, 4, 5 };
int[] result = Array.FindAll(numbers, element => element > 2);
foreach (int number in result) {
    Console.WriteLine(number); // Output: 3 4 5
}

11. Array.Resize Method

The Resize method changes the number of elements in an array.

int[] numbers = { 1, 2, 3, 4, 5 };
Array.Resize(ref numbers, 7);
numbers[5] = 6;
numbers[6] = 7;
foreach (int number in numbers) {
    Console.WriteLine(number); // Output: 1 2 3 4 5 6 7
}

12. Array.Clear Method

The Clear method sets a range of elements in the array to the default value of each element type.

int[] numbers = { 1, 2, 3, 4, 5 };
Array.Clear(numbers, 1, 3);
foreach (int number in numbers) {
    Console.WriteLine(number); // Output: 1 0 0 0 5
}

13. Array.Copy Method

The Copy method copies a range of elements from one array to another.

int[] source = { 1, 2, 3, 4, 5 };
int[] destination = new int[5];
Array.Copy(source, destination, 5);
foreach (int number in destination) {
    Console.WriteLine(number); // Output: 1 2 3 4 5
}

Conclusion

In this tutorial, we covered several essential array methods available in C#. These methods provide powerful tools for working with arrays, making it easier to perform a wide range of operations, from searching and sorting to modifying and copying arrays. Understanding these methods will help you manipulate arrays more effectively and write more efficient code.