Topic Overview

Welcome to today's session on "Mastering Array Traversal and Manipulation in C#". Multidimensional arrays are types of arrays that store arrays at each index instead of single elements. Picture it as an 'apartment building' with floors (the outer array) and apartments on each floor (the inner array). Our goal today is to strengthen your foundational knowledge of these 'apartment buildings' and how to handle them effectively in C#.

Creating Multidimensional Arrays

To construct a multidimensional array in C#, we use arrays of arrays. Here are examples to demonstrate how to create and work with 2D static arrays.

Indexing in Multidimensional Arrays

All indices in C# arrays are 0-based. Let's say you want to visit an apartment on the second floor (index 1) and bring a package to the first unit (index 0) in this building. Here's how you can do it:

We visited the element 4 in the array by its position. The number [1] refers to the second inner array, and [0] refers to the first element of that array.

Finding the Number of Rows and Columns

C# offers various ways to manage multidimensional arrays. For instance, you can determine the number of rows (floors) and columns (units on each floor):

Traversing Multidimensional Arrays

We can visit every floor (outer array) and every apartment on each floor (inner array) by using nested loops.

Updating Multidimensional Arrays

Continuing with the apartment building analogy, suppose the task was to replace the old locker code (the second element in the first array) with a new one. Here's how we can achieve this:

Adding a New Row or Column

To add a new row or column to a 2D static array, create a new array with the desired dimensions, then copy the existing elements into it.

Removing a Row or Column

To remove a row or column from a 2D static array, create a new array with the reduced dimensions and copy over the elements while skipping the one you want to remove.

Break/Continue in Nested Loops

Sometimes, when we visit every apartment on each floor, we might need to start visiting the next floor midway. break helps us exit the current loop, while continue helps us skip the current iteration and move to the next one.

Here, as soon as Exit Floor is found on a floor, the entire loop breaks, and no further units on the floor are visited. However, the other units are processed as before, as break breaks only the nested loop.

We can also make use of continue in a similar scenario:

In this case, when Exit Floor is encountered, the continue statement is executed. This skips printing Exit Floor and continues with the next unit on the same floor. The loop doesn't stop entirely but skips over Exit Floor, resulting in a missing apartment in the printout for the second floor.

Lesson Summary and Practice

That was exciting! We went through various operations on multidimensional arrays, starting from their creation and methods of updating, and useful C# methods. We also learned how we can visit every floor and every apartment on each floor.

Practice solidifies learning! Your new adventure awaits in our upcoming practical exercises, where you can apply these concepts to multidimensional arrays! Buckle up and have fun!

Sign up
Join the 1M+ learners on CodeSignal
Be a part of our community of 1M+ users who develop and demonstrate their skills on CodeSignal