📖 Scenario: Imagine you have a list of daily temperatures for a week. You want to safely access these temperatures without causing errors if you try to look beyond the list.
🎯 Goal: You will create an array of temperatures, set a limit for valid indexes, try to access elements safely, and see what happens when you go out of bounds.
📋 What You'll Learn
Create an integer array called temperatures with exactly these values: 20, 22, 19, 24, 21, 23, 20
Create an integer variable called maxIndex and set it to the last valid index of the temperatures array
Use a for loop with variable i from 0 to maxIndex to print each temperature
Add a line to try to print the temperature at index maxIndex + 1 and observe the behavior
💡 Why This Matters
🌍 Real World
Arrays are used everywhere to store lists of data like temperatures, scores, or names. Knowing how to safely access them prevents program crashes.
💼 Career
Understanding array bounds checking is important for writing reliable software and avoiding common runtime errors in many programming jobs.
Progress0 / 4 steps
1
Create the temperatures array
Create an integer array called temperatures with these exact values: 20, 22, 19, 24, 21, 23, 20
C Sharp (C#)
Hint
Use int[] temperatures = { ... }; to create the array with the exact numbers.
2
Set the maximum valid index
Create an integer variable called maxIndex and set it to the last valid index of the temperatures array
C Sharp (C#)
Hint
Use temperatures.Length - 1 to get the last valid index.
3
Print all temperatures using a for loop
Use a for loop with variable i from 0 to maxIndex to print each temperature from the temperatures array
C Sharp (C#)
Hint
Use a for loop from 0 to maxIndex and print temperatures[i].
4
Try to access an out-of-bounds index
Add a line to print the temperature at index maxIndex + 1 from the temperatures array and observe the output
C Sharp (C#)
Hint
When you run this code, you will see the temperatures printed, then an error because maxIndex + 1 is outside the array.
Practice
(1/5)
1. What happens if you try to access an array element with an index less than 0 in C#?
easy
A. It throws an IndexOutOfRangeException.
B. It returns the first element of the array.
C. It returns null.
D. It automatically adjusts the index to 0.
Solution
Step 1: Understand array index rules in C#
Array indexes must be between 0 and array length - 1.
Step 2: Behavior on invalid index
Accessing an index less than 0 is outside valid range and causes an exception.
Final Answer:
It throws an IndexOutOfRangeException. -> Option A
Quick Check:
Invalid index access = IndexOutOfRangeException [OK]
Hint: Negative indexes always cause IndexOutOfRangeException [OK]
Common Mistakes:
Thinking negative index returns first element
Assuming negative index returns null
Believing index auto-corrects to 0
2. Which of the following is the correct way to declare and access the third element of an integer array named numbers in C#?
easy
A. int value = numbers[3];
B. int value = numbers[0];
C. int value = numbers[1];
D. int value = numbers[2];
Solution
Step 1: Recall zero-based indexing in C# arrays
Array indexes start at 0, so the first element is numbers[0].
Step 2: Identify the third element index
The third element is at index 2 (0,1,2).
Final Answer:
int value = numbers[2]; -> Option D
Quick Check:
Third element index = 2 [OK]
Hint: Remember array indexing starts at zero [OK]
Common Mistakes:
Using index 3 for third element
Confusing element position with index
Accessing index 1 or 0 for third element
3. What will be the output of the following C# code?
Index 3 is outside the array bounds, causing an exception.
Final Answer:
IndexOutOfRangeException -> Option B
Quick Check:
Accessing arr[3] = IndexOutOfRangeException [OK]
Hint: Indexes must be less than array length [OK]
Common Mistakes:
Expecting last element value instead of error
Assuming default zero value returned
Confusing index 3 with valid index
4. Consider this code snippet:
int[] data = new int[5];
data[5] = 100;
What is the issue and how to fix it?
medium
A. Syntax error due to array declaration.
B. No issue, code runs fine.
C. IndexOutOfRangeException because index 5 is invalid; fix by using index 4.
D. NullReferenceException because array is not initialized.
Solution
Step 1: Analyze array size and valid indexes
Array size is 5, valid indexes are 0 to 4.
Step 2: Identify invalid index usage
Accessing data[5] is outside bounds, causing IndexOutOfRangeException.
Step 3: Correct the index
Use data[4] to access the last element safely.
Final Answer:
IndexOutOfRangeException because index 5 is invalid; fix by using index 4. -> Option C
Quick Check:
Index 5 invalid, max index 4 [OK]
Hint: Last index is length minus one [OK]
Common Mistakes:
Assuming index 5 is valid for length 5
Confusing syntax error with runtime error
Thinking array is uninitialized
5. You have an array int[] scores = {5, 10, 15};. You want to safely print the element at index i without causing an exception. Which code snippet correctly checks bounds before accessing?
hard
A. if (i >= 0 && i < scores.Length) Console.WriteLine(scores[i]); else Console.WriteLine("Invalid index");
B. if (i > 0 && i <= scores.Length) Console.WriteLine(scores[i]); else Console.WriteLine("Invalid index");
C. if (i >= 1 && i < scores.Length) Console.WriteLine(scores[i]); else Console.WriteLine("Invalid index");
D. if (i > 0 && i < scores.Length - 1) Console.WriteLine(scores[i]); else Console.WriteLine("Invalid index");
Solution
Step 1: Understand valid index range for array
Valid indexes are from 0 up to Length - 1.
Step 2: Check each condition
if (i >= 0 && i < scores.Length) Console.WriteLine(scores[i]); else Console.WriteLine("Invalid index"); correctly checks i >= 0 and i < Length, ensuring safe access.
Step 3: Identify incorrect conditions
Other options exclude index 0 or allow invalid upper bounds.
Final Answer:
if (i >= 0 && i < scores.Length) Console.WriteLine(scores[i]); else Console.WriteLine("Invalid index"); -> Option A
Quick Check:
Bounds check: 0 ≤ i < Length [OK]
Hint: Check index >= 0 and < array length [OK]
Common Mistakes:
Using > 0 instead of >= 0
Allowing index equal to length
Ignoring zero index as valid
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.