Bird
Raised Fist0
C Sharp (C#)programming~5 mins

Array indexing and access in C Sharp (C#)

Choose your learning style10 modes available
Introduction

Arrays store many items in order. Indexing helps you find and use each item quickly.

You want to get a specific item from a list of things, like the first or last name in a list.
You need to change one item in a group, like updating a score in a game.
You want to check or use all items one by one, like printing all colors in a palette.
Syntax
C Sharp (C#)
class Program
{
    static void Main()
    {
        int[] numbers = {10, 20, 30, 40};
        int firstNumber = numbers[0]; // Access first item
        numbers[2] = 35; // Change third item
    }
}

Array indexes start at 0, so the first item is at index 0.

Accessing an index outside the array size causes an error.

Examples
Example of an empty array. No items to access.
C Sharp (C#)
int[] emptyArray = new int[0];
// emptyArray has no items
// Accessing any index will cause an error
Array with one item. Only index 0 is valid.
C Sharp (C#)
int[] singleItemArray = { 100 };
int onlyItem = singleItemArray[0]; // 100
// singleItemArray[1] would cause an error
Accessing first and last items in a small array.
C Sharp (C#)
string[] fruits = { "apple", "banana", "cherry" };
string firstFruit = fruits[0]; // "apple"
string lastFruit = fruits[2]; // "cherry"
Sample Program

This program shows how to access and change items in an array by their index. It prints the colors before and after changing one.

C Sharp (C#)
using System;

class Program
{
    static void Main()
    {
        string[] colors = { "red", "green", "blue" };

        Console.WriteLine("Colors before change:");
        foreach (string color in colors)
        {
            Console.WriteLine(color);
        }

        // Access and print the first color
        Console.WriteLine($"First color: {colors[0]}");

        // Change the second color
        colors[1] = "yellow";

        Console.WriteLine("Colors after change:");
        foreach (string color in colors)
        {
            Console.WriteLine(color);
        }
    }
}
OutputSuccess
Important Notes

Accessing an array element by index is very fast, O(1) time complexity.

Arrays use a fixed amount of memory based on their size (space complexity O(n)).

Common mistake: Trying to access an index outside the array size causes a runtime error (IndexOutOfRangeException).

Use array indexing when you know the position of the item you want. Use loops to access all items.

Summary

Arrays store items in order and use zero-based indexes to find them.

You can read or change an item by using its index inside square brackets.

Always make sure the index is inside the array size to avoid errors.

Practice

(1/5)
1. What is the index of the first element in a C# array int[] numbers = {10, 20, 30};?
easy
A. 0
B. 1
C. 10
D. Array length - 1

Solution

  1. Step 1: Understand zero-based indexing in C# arrays

    Arrays in C# start counting indexes from 0, so the first element is at index 0.
  2. Step 2: Identify the first element's index

    The first element 10 is at index 0, not 1 or any other number.
  3. Final Answer:

    0 -> Option A
  4. Quick Check:

    First element index = 0 [OK]
Hint: Remember: C# arrays start at zero index [OK]
Common Mistakes:
  • Thinking the first index is 1
  • Confusing element value with index
  • Using array length as first index
2. Which of the following is the correct way to access the third element of an array string[] fruits = {"apple", "banana", "cherry"};?
easy
A. fruits[2]
B. fruits[3]
C. fruits(2)
D. fruits{2}

Solution

  1. Step 1: Recall C# array indexing syntax

    Arrays use square brackets [] to access elements by zero-based index.
  2. Step 2: Identify the correct index for the third element

    The third element is at index 2, so fruits[2] is correct.
  3. Final Answer:

    fruits[2] -> Option A
  4. Quick Check:

    Third element index = 2 [OK]
Hint: Use square brackets and zero-based index [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Using curly braces instead of brackets
  • Using index 3 for third element
3. What will be the output of this code?
int[] values = {5, 10, 15};
Console.WriteLine(values[1]);
medium
A. 5
B. Runtime error
C. 10
D. 15

Solution

  1. Step 1: Identify the element at index 1

    The array values has elements 5 at index 0, 10 at index 1, and 15 at index 2.
  2. Step 2: Determine the output of Console.WriteLine(values[1])

    Accessing values[1] prints 10 to the console.
  3. Final Answer:

    10 -> Option C
  4. Quick Check:

    values[1] = 10 [OK]
Hint: Index 1 means second element in array [OK]
Common Mistakes:
  • Printing values[0] instead of values[1]
  • Confusing index with element value
  • Expecting index to start at 1
4. What is wrong with this code?
int[] arr = {1, 2, 3};
Console.WriteLine(arr[3]);
medium
A. No error, prints 3
B. Index out of range runtime error
C. Syntax error due to missing semicolon
D. Prints 0 by default

Solution

  1. Step 1: Check array size and valid indexes

    The array has 3 elements with indexes 0, 1, and 2. Index 3 is outside the array bounds.
  2. Step 2: Understand what happens when accessing invalid index

    Accessing arr[3] causes a runtime error: IndexOutOfRangeException.
  3. Final Answer:

    Index out of range runtime error -> Option B
  4. Quick Check:

    Accessing invalid index causes runtime error [OK]
Hint: Index must be less than array length [OK]
Common Mistakes:
  • Assuming index 3 is valid for 3-element array
  • Expecting default zero value for invalid index
  • Confusing syntax error with runtime error
5. Given int[] data = {2, 4, 6, 8, 10};, which expression correctly changes the last element to 20?
hard
A. data[5] = 20;
B. data[data.Length] = 20;
C. data[-1] = 20;
D. data[4] = 20;

Solution

  1. Step 1: Identify the last index of the array

    The array has 5 elements, so indexes go from 0 to 4. The last element is at index 4.
  2. Step 2: Choose the correct syntax to assign new value

    Assigning data[4] = 20; changes the last element to 20. Using data.Length or negative indexes is invalid.
  3. Final Answer:

    data[4] = 20; -> Option D
  4. Quick Check:

    Last index = Length - 1 = 4 [OK]
Hint: Last index = Length - 1 for assignment [OK]
Common Mistakes:
  • Using data.Length as index (out of range)
  • Using negative index (not supported)
  • Using index equal to array size
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard