Bird
Raised Fist0
DSA C#programming~20 mins

Array Declaration and Initialization in DSA C# - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of Array Initialization and Access
What is the output of the following C# code snippet?
DSA C#
int[] numbers = new int[4] {10, 20, 30, 40};
Console.WriteLine(numbers[2]);
AIndexOutOfRangeException
B30
C20
D40
Attempts:
2 left
💡 Hint
Remember that array indices start at 0 in C#.
❓ Predict Output
intermediate
2:00remaining
Output of Partially Initialized Array
What will be printed by this C# code?
DSA C#
int[] arr = new int[5];
arr[0] = 5;
arr[4] = 10;
Console.WriteLine(arr[2]);
A0
B10
C5
DNullReferenceException
Attempts:
2 left
💡 Hint
Uninitialized int array elements default to zero.
❓ Predict Output
advanced
2:00remaining
Output of Multidimensional Array Access
What is the output of this C# code snippet?
DSA C#
int[,] matrix = new int[2,3] { {1, 2, 3}, {4, 5, 6} };
Console.WriteLine(matrix[1, 2]);
AIndexOutOfRangeException
B5
C3
D6
Attempts:
2 left
💡 Hint
Remember the first index is the row, second is the column.
❓ Predict Output
advanced
2:00remaining
Output of Jagged Array Initialization and Access
What will this C# code print?
DSA C#
int[][] jagged = new int[2][];
jagged[0] = new int[] {1, 2};
jagged[1] = new int[] {3, 4, 5};
Console.WriteLine(jagged[1][2]);
A5
B4
C3
DIndexOutOfRangeException
Attempts:
2 left
💡 Hint
Jagged arrays are arrays of arrays with different lengths.
🧠 Conceptual
expert
2:00remaining
Array Initialization Behavior in C#
Which statement about array initialization in C# is correct?
AArrays must always be initialized with explicit values at declaration.
BArrays of value types are initialized with random garbage values by default.
CArrays of reference types are initialized with null values by default.
DArrays cannot be resized after declaration but can be shrunk automatically.
Attempts:
2 left
💡 Hint
Think about default values for reference and value types in C# arrays.

Practice

(1/5)
1. Which of the following is the correct way to declare and initialize an integer array with 3 elements in C#?
easy
A. int[] numbers = new int[3] {1, 2, 3};
B. int numbers = new int[3] {1, 2, 3};
C. int numbers[] = {1, 2, 3};
D. int[] numbers = new int(3) {1, 2, 3};

Solution

  1. Step 1: Understand array declaration syntax

    In C#, to declare an array, you use the type followed by square brackets, then assign with new keyword and specify size and elements.
  2. Step 2: Check each option for correctness

    int[] numbers = new int[3] {1, 2, 3}; correctly declares an integer array with size 3 and initializes it with values 1, 2, 3. int numbers = new int[3] {1, 2, 3}; misses square brackets for array type. int numbers[] = {1, 2, 3}; is invalid syntax - square brackets must follow the type name, not the variable name. int[] numbers = new int(3) {1, 2, 3}; uses parentheses instead of square brackets which is invalid.
  3. Final Answer:

    int[] numbers = new int[3] {1, 2, 3}; -> Option A
  4. Quick Check:

    Correct array declaration uses int[] and new int[size] [OK]
Hint: Use type[] name = new type[size] {values}; for arrays [OK]
Common Mistakes:
  • Forgetting square brackets [] after type
  • Using parentheses () instead of [] for size
  • Missing the new keyword
  • Assigning array without brackets
2. Which of the following is a syntax error when declaring an array in C#?
easy
A. int[] arr = new int[5];
B. int[] arr = {1, 2, 3};
C. int arr[] = new int[5];
D. int[] arr = new int[] {1, 2, 3};

Solution

  1. Step 1: Review C# array declaration syntax

    C# requires the square brackets to be placed after the type, not after the variable name. So int[] arr is correct, but int arr[] is invalid syntax.
  2. Step 2: Check each option

    int[] arr = new int[5]; is correct standard syntax. int arr[] = new int[5]; uses C/C++ style int arr[] which is invalid in C#. int[] arr = {1, 2, 3}; is valid shorthand initialization. int[] arr = new int[] {1, 2, 3}; is also valid with explicit new int[].
  3. Final Answer:

    int arr[] = new int[5]; -> Option C
  4. Quick Check:

    Square brackets go after type, not variable name [OK]
Hint: Remember: In C#, brackets go after type, not variable name [OK]
Common Mistakes:
  • Using C/C++ style array declaration
  • Placing brackets after variable name
  • Confusing array initialization syntax
3. You want to declare and initialize a string array with the names "Alice", "Bob", and "Charlie" in one line. Which of the following is the best way to do this in C#?
easy
A. string[] names = new string[3]; names = {"Alice", "Bob", "Charlie"};
B. string[] names = new string[] {"Alice", "Bob", "Charlie"};
C. string names[] = new string[3] {"Alice", "Bob", "Charlie"};
D. string names[] = {"Alice", "Bob", "Charlie"};

Solution

  1. Step 1: Understand array declaration and initialization rules

    In C#, you can declare and initialize an array in one line using new string[] { ... } or shorthand { ... } only if declaration and initialization are combined.
  2. Step 2: Evaluate each option

    string[] names = new string[3]; names = {"Alice", "Bob", "Charlie"}; tries to assign values after declaration without new, which is invalid. string names[] = {"Alice", "Bob", "Charlie"}; is invalid syntax with brackets after variable name. string names[] = new string[3] {"Alice", "Bob", "Charlie"}; uses invalid syntax with brackets after variable name. string[] names = new string[] {"Alice", "Bob", "Charlie"}; correctly declares and initializes in one line.
  3. Final Answer:

    string[] names = new string[] {"Alice", "Bob", "Charlie"}; -> Option B
  4. Quick Check:

    Use new string[] { ... } for clear array initialization [OK]
Hint: Use new string[] { ... } for clear one-line initialization [OK]
Common Mistakes:
  • Assigning array values without new keyword after declaration
  • Using C-style array syntax
  • Confusing declaration and assignment
4. What will be the output of the following C# code?
int[] arr = new int[4] {10, 20, 30, 40};
Console.WriteLine(arr[2]);
medium
A. 30
B. 20
C. 40
D. IndexOutOfRangeException

Solution

  1. Step 1: Understand array indexing

    Arrays in C# are zero-indexed, meaning the first element is at index 0. So arr[0] = 10, arr[1] = 20, arr[2] = 30, arr[3] = 40.
  2. Step 2: Identify the value at index 2

    The code prints arr[2], which is the third element, value 30.
  3. Final Answer:

    30 -> Option A
  4. Quick Check:

    Zero-based index means arr[2] = 30 [OK]
Hint: Remember arrays start at index 0 in C# [OK]
Common Mistakes:
  • Confusing index 2 with third element value
  • Expecting 1-based indexing
  • Mistaking array length for last index
5. Identify the error in the following C# code snippet:
int[] numbers = new int[3];
numbers = {1, 2, 3};
medium
A. No error, code runs fine
B. Array size mismatch error
C. Cannot assign values without new keyword
D. Syntax error due to missing new keyword in assignment

Solution

  1. Step 1: Analyze array initialization and assignment

    In C#, you can initialize an array with values only at declaration or by using new int[] { ... }. Direct assignment like numbers = {1, 2, 3}; is invalid syntax.
  2. Step 2: Identify the syntax error

    The second line misses the new int[] part, causing a syntax error.
  3. Final Answer:

    Syntax error due to missing new keyword in assignment -> Option D
  4. Quick Check:

    Array assignment requires new int[] { ... } [OK]
Hint: Use new int[] { ... } when assigning arrays after declaration [OK]
Common Mistakes:
  • Assigning array values without new keyword
  • Trying to reassign array with braces only
  • Confusing initialization with assignment
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