Conteúdo do Curso
C# Beyond Basics
C# Beyond Basics
What are Lists?
Imagine we have a situation where we want to store the names of all the students that are taking a certain course. The first solution we can come up is to create an Array:
index
However, if at some point are more than 50 students, we won't be able to store their names. Similarly, in a situation where there are less than 50 students, the unoccupied spaces in the array will be a waste of memory - this becomes a problem in especially large arrays.
Here we need a new structure which can store a variable amount of elements. Luckily such a structure already exists, it's called a List.
Lists are very similar to Arrays, however the number of elements that are stored in a list are changeable.
Following is the syntax for declaring an empty list:
Using this syntax we can create a list for storing the Students' names:
index
It is important to note that we need to import the Generic
module to be able to use Lists.
You simply need to add this line under using System;
to import the required module.
Add() Method
We can add elements to a list by using the Add
method:
index
The above code will add four elements to the students
list.
Just like an Array of type string
can only contain string
elements. A list of type string
can only accept string
elements.
Indexing
The first element is Anna
hence it will have the index 0
, while Laura
will have the index 1
and so on. Elements of a list can be accessed via indexing just like an array:
index
Count() Method
We can retrieve the length of a list using its Count
attribute:
index
Dynamic Length
Note that the length of a list is dynamic (changeable), so it changes as we add elements:
index
Initialization
We can also initialize a list with some elements using the following syntax:
For-example:
index
Looping Through Lists
Looping through a List similar to how we would loop through Arrays
- Using a for-loop:
index
- Using a foreach loop
index
Tip:
To make the declaration syntax shorter we can also use implicit declaration. To recall, an explicit declaration is when we specify the data type during variable declaration, for-example:
index
On the other hand, in implicit declaration we can simply use the var
keyword and the compiler automatically infers the data type of the variable according to the assigned value:
index
We can use implicit declaration when declaring lists as well:
For-example:
index
Tudo estava claro?