Resumo : neste tutorial, você aprenderá como usar a List<T>
classe C# para manipular elementos de lista de maneira eficaz.
Introdução à classe C# List<T>
A List<T>
classe C# permite gerenciar uma lista de valores de qualquer tipo. A List<T>
classe representa uma lista fortemente tipada de objetos que podem ser acessados por índice.
O T
interior dos colchetes angulares especifica o tipo de elementos na lista. Por exemplo, você pode ter uma lista de inteiros, strings e objetos.
O List<T>
pertence ao System.Collections.Generic
namespace.
Criando uma lista
O seguinte cria uma nova lista de strings:
List<string> states = new List<string>();
Linguagem de código: C# ( cs )
E você pode torná-lo mais curto usando a var
palavra-chave:
var states = new List<string>();
Linguagem de código: C# ( cs )
Adicionando um elemento a uma lista
Para adicionar um elemento a uma lista, você usa o Add()
método. Por exemplo, o seguinte usa o Add()
método para adicionar três strings à lista:
var states = new List<string>();
states.Add("California");
states.Add("Texas");
states.Add("New York");
Linguagem de código: C# ( cs )
Iterando sobre os elementos de uma lista
Para iterar sobre os elementos de uma lista, você usa a foreach
instrução. A foreach
instrução atribui o elemento da lista atual a uma variável em cada iteração do primeiro ao último elemento.
Por exemplo, o seguinte usa a foreach
instrução para iterar sobre os elementos da states
lista:
var states = new List<string>();
states.Add("California");
states.Add("Texas");
states.Add("New York");
foreach (var state in states)
{
Console.WriteLine(state);
}
Linguagem de código: C# ( cs )
Saída:
California
Texas
New York
Linguagem de código: C# ( cs )
Usando o inicializador de coleção
Para simplificar a criação e o preenchimento de uma lista, você pode usar um inicializador de coleção. Por exemplo, o seguinte cria uma lista e a preenche com três elementos:
var states = new List<string>()
{
"California",
"Texas",
"New York"
};
Linguagem de código: C# ( cs )
Verificando se existe um elemento
Para verificar se existe um elemento em uma lista, você usa Contains()
o método. O Contains()
método retorna true
se existir um elemento em uma lista. Caso contrário, ele retorna false
.
Por exemplo:
var states = new List<string>()
{
"California",
"Texas",
"New York"
};
Console.WriteLine(states.Contains("Texas")); // True
Console.WriteLine(states.Contains("Washington")); // False
Linguagem de código: C# ( cs )
Neste exemplo, a states
lista contém "Texas"
. Portanto, a seguinte chamada de método retorna true
:
states.Contains("Texas");
Linguagem de código: C# ( cs )
Além disso, como a states
lista não contém "Washington"
, o Contains()
método retorna false
:
states.Contains("Washington");
Linguagem de código: C# ( cs )
Acessando um elemento de lista usando um índice
A List<T>
classe permite acessar seus elementos usando índices. O primeiro elemento possui índice 0, o segundo elemento possui índice 1 e assim por diante:
listObject[index]
Linguagem de código: C# ( cs )
O seguinte usa a for
instrução para iterar sobre os elementos da lista e convertê-los em letras maiúsculas:
var states = new List<string>()
{
"California",
"Texas",
"New York"
};
for (int i = 0; i < states.Count; i++)
{
states[i] = states[i].ToUpper();
Console.WriteLine(states[i]);
}
Linguagem de código: C# ( cs )
Saída:
CALIFORNIA
TEXAS
NEW YORK
Linguagem de código: C# ( cs )
Inserindo um elemento em uma lista
Para inserir um elemento em uma lista em um índice especificado, você usa o Insert()
método. Por exemplo, o seguinte insere um elemento no índice 0 e outro elemento no índice 1:
var states = new List<string>()
{
"California",
"Texas",
"New York"
};
states.Insert(0, "Alaska");
states.Insert(1, "Arizona");
foreach (var state in states)
{
Console.WriteLine(state);
}
Linguagem de código: C# ( cs )
Saída:
Alaska
Arizona
California
Texas
New York
Linguagem de código: C# ( cs )
Classifique uma lista em ordem crescente ou decrescente
Para classificar uma lista, você usa o Sort()
método. O Sort()
método classifica os elementos da lista usando o comparador padrão.
Por exemplo, o seguinte usa o Sort()
método para classificar uma lista de strings em ordem crescente:
var states = new List<string>()
{
"California",
"Texas",
"Arizona",
"New York",
"Alaska"
};
states.Sort();
foreach (var state in states)
{
Console.WriteLine(state);
}
Linguagem de código: C# ( cs )
Saída:
Alaska
Arizona
California
New York
Texas
Linguagem de código: C# ( cs )
Se quiser classificar a lista de strings em ordem decrescente, você pode passar um comparador para o Sort()
método como este:
var states = new List<string>()
{
"California",
"Texas",
"Arizona",
"New York",
"Alaska"
};
states.Sort((x, y) => y.CompareTo(x));
foreach (var state in states)
{
Console.WriteLine(state);
}
Linguagem de código: C# ( cs )
Saída:
Texas
New York
California
Arizona
Alaska
Linguagem de código: C# ( cs )
Remover um elemento de uma lista
Para remover um elemento de uma lista, você usa o Remove()
método. O Remove()
método exclui o item especificado de uma lista.
Se o item aparecer várias vezes em uma lista, o Remove()
método removerá a primeira ocorrência do item da lista.
O exemplo a seguir usa o Remove()
método para remover “Texas” da lista:
var states = new List<string>()
{
"California",
"Texas",
"Arizona",
"New York",
"Alaska"
};
states.Remove("Texas");
foreach (var state in states)
{
Console.WriteLine(state);
}
Linguagem de código: C# ( cs )
Saída:
California
Arizona
New York
Alaska
Linguagem de código: C# ( cs )
Resumo
- Use o
List<T>
para gerenciar uma lista de objetos. - Use o
Add()
método para adicionar um elemento a uma lista - Use o
Insert()
método para inserir um elemento em uma lista em um índice especificado - Use o
Remove()
método para remover a primeira ocorrência de um item de uma lista. - Use o
Sort()
método para classificar elementos de uma lista. - Use a instrução
foreach
oufor
para iterar sobre os elementos de uma lista. - Use o
Contains()
método para verificar se uma lista contém um elemento.