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

Array methods (Sort, Reverse, IndexOf) in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Methods Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this C# code using Array.Sort and Array.IndexOf?

Look at the code below. What will be printed to the console?

C Sharp (C#)
using System;

class Program {
    static void Main() {
        int[] numbers = {5, 3, 8, 1, 2};
        Array.Sort(numbers);
        int index = Array.IndexOf(numbers, 3);
        Console.WriteLine(index);
    }
}
A1
B3
C2
D0
Attempts:
2 left
💡 Hint

Remember that Array.Sort arranges the array in ascending order before searching.

❓ Predict Output
intermediate
2:00remaining
What does this code print after reversing the array?

What will be the output of the following C# program?

C Sharp (C#)
using System;

class Program {
    static void Main() {
        string[] fruits = {"apple", "banana", "cherry"};
        Array.Reverse(fruits);
        Console.WriteLine(fruits[1]);
    }
}
Abanana
Bapple
Ccherry
DIndexOutOfRangeException
Attempts:
2 left
💡 Hint

Think about how reversing changes the order of elements.

🔧 Debug
advanced
2:00remaining
Why does this code throw an exception?

Examine the code below. It throws an exception when run. What is the cause?

C Sharp (C#)
using System;

class Program {
    static void Main() {
        int[] values = {10, 20, 30};
        Array.Reverse(values, 1, 5);
        Console.WriteLine(string.Join(",", values));
    }
}
AArgumentOutOfRangeException because the length parameter exceeds array bounds
BNullReferenceException because the array is null
CInvalidOperationException because Reverse cannot be used on int arrays
DNo exception, output is '10,30,20'
Attempts:
2 left
💡 Hint

Check the parameters passed to Array.Reverse carefully.

❓ Predict Output
advanced
2:00remaining
What is the output of this code using Array.IndexOf with a missing element?

What will this program print?

C Sharp (C#)
using System;

class Program {
    static void Main() {
        char[] letters = {'a', 'b', 'c', 'd'};
        int pos = Array.IndexOf(letters, 'z');
        Console.WriteLine(pos);
    }
}
AIndexOutOfRangeException
B-1
C0
D4
Attempts:
2 left
💡 Hint

What does Array.IndexOf return if the item is not found?

🧠 Conceptual
expert
2:00remaining
How many elements are in the array after these operations?

Consider this C# code snippet:

int[] arr = {4, 7, 1, 9};
Array.Sort(arr);
Array.Reverse(arr);
int index = Array.IndexOf(arr, 7);

After running this code, how many elements does arr contain?

A0
B3
C1
D4
Attempts:
2 left
💡 Hint

Sorting and reversing do not change the number of elements in the array.

Practice

(1/5)
1. What does the Array.Sort method do to an array in C#?
easy
A. It reverses the order of the items.
B. It arranges the items in ascending order.
C. It finds the index of a specific item.
D. It removes duplicate items from the array.

Solution

  1. Step 1: Understand Array.Sort purpose

    The Array.Sort method organizes the elements of an array in ascending order by default.
  2. Step 2: Compare with other methods

    Array.Reverse flips the array, and Array.IndexOf finds an element's position, so they do different things.
  3. Final Answer:

    It arranges the items in ascending order. -> Option B
  4. Quick Check:

    Array.Sort = ascending order [OK]
Hint: Sort means arrange from smallest to largest [OK]
Common Mistakes:
  • Confusing Sort with Reverse
  • Thinking Sort finds an element's position
  • Assuming Sort removes duplicates
2. Which of the following is the correct way to reverse an array named numbers in C#?
easy
A. numbers.Reverse();
B. numbers.ReverseArray();
C. Array.Sort(numbers);
D. Array.Reverse(numbers);

Solution

  1. Step 1: Identify correct method call syntax

    In C#, Array.Reverse is a static method that takes the array as an argument, so Array.Reverse(numbers); is correct.
  2. Step 2: Check other options

    numbers.Reverse() is a LINQ extension returning IEnumerable, not reversing in place. Array.Sort sorts, not reverses. ReverseArray() does not exist.
  3. Final Answer:

    Array.Reverse(numbers); -> Option D
  4. Quick Check:

    Reverse array = Array.Reverse(array) [OK]
Hint: Use Array.Reverse(array) to flip order [OK]
Common Mistakes:
  • Using instance method Reverse() which doesn't reverse in place
  • Confusing Sort with Reverse
  • Calling non-existent methods
3. What will be the output of this C# code?
string[] fruits = {"apple", "banana", "cherry"};
Array.Sort(fruits);
Array.Reverse(fruits);
Console.WriteLine(fruits[0]);
medium
A. cherry
B. banana
C. apple
D. Runtime error

Solution

  1. Step 1: Sort the array

    After Array.Sort(fruits);, the array becomes ["apple", "banana", "cherry"] (already sorted).
  2. Step 2: Reverse the array

    After Array.Reverse(fruits);, the array becomes ["cherry", "banana", "apple"].
  3. Step 3: Print first element

    fruits[0] is now "cherry".
  4. Final Answer:

    cherry -> Option A
  5. Quick Check:

    Sort then Reverse = descending order [OK]
Hint: Sort then Reverse = descending order, first item is largest [OK]
Common Mistakes:
  • Assuming array stays sorted ascending
  • Confusing Reverse with Sort
  • Expecting runtime error due to method calls
4. The following code throws an error. What is the mistake?
int[] nums = {3, 1, 4};
nums.Sort();
Console.WriteLine(nums[0]);
medium
A. Arrays don't have a Sort() instance method.
B. The array must be reversed before sorting.
C. You must use Console.WriteLine(nums.Sort()); instead.
D. The array must be converted to a list before sorting.

Solution

  1. Step 1: Identify method call error

    Arrays in C# do not have an instance method called Sort(). Sorting is done via the static method Array.Sort(array).
  2. Step 2: Understand correct usage

    The correct way is Array.Sort(nums); to sort the array in place.
  3. Final Answer:

    Arrays don't have a Sort() instance method. -> Option A
  4. Quick Check:

    Use Array.Sort(array), not array.Sort() [OK]
Hint: Array.Sort is static; no instance Sort() method [OK]
Common Mistakes:
  • Calling Sort() directly on array instance
  • Confusing List.Sort() with Array.Sort()
  • Trying to print Sort() return value
5. Given the array int[] values = {5, 3, 8, 3, 9};, which code snippet finds the index of the first occurrence of the number 3 and then reverses the array?
hard
A. int index = Array.FindIndex(values, 3); Array.Sort(values);
B. int index = values.IndexOf(3); Array.Reverse(values);
C. int index = Array.IndexOf(values, 3); Array.Reverse(values);
D. int index = Array.IndexOf(values, 3); Array.Sort(values);

Solution

  1. Step 1: Find index of first 3

    Array.IndexOf(values, 3) correctly returns the first index where 3 appears, which is 1.
  2. Step 2: Reverse the array

    Array.Reverse(values); reverses the array in place as required.
  3. Final Answer:

    int index = Array.IndexOf(values, 3); Array.Reverse(values); -> Option C
  4. Quick Check:

    IndexOf + Reverse = int index = Array.IndexOf(values, 3); Array.Reverse(values); [OK]
Hint: Use Array.IndexOf(array, value) to find index [OK]
Common Mistakes:
  • Using instance method IndexOf on array (not valid)
  • Confusing FindIndex with IndexOf
  • Sorting instead of reversing
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