Lista C#

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 Tinterior 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.Genericnamespace.

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 varpalavra-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 foreachinstrução. A foreachinstruçã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 foreachinstrução para iterar sobre os elementos da stateslista:

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 YorkLinguagem 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 truese 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")); // FalseLinguagem de código:  C#  ( cs )

Neste exemplo, a stateslista 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 stateslista 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 forinstruçã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 YORKLinguagem 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 YorkLinguagem 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
TexasLinguagem 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
AlaskaLinguagem 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
AlaskaLinguagem 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 foreachou forpara iterar sobre os elementos de uma lista.
  • Use o Contains()método para verificar se uma lista contém um elemento.