Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este tutorial introdutório fornece uma introdução à linguagem C# e aos conceitos básicos da classe.
Este tutorial ensina C# interativamente, usando seu navegador para escrever código C# e ver os resultados da compilação e execução do código. Ele contém uma série de lições que criam, modificam e exploram coleções e matrizes. Você trabalha principalmente com a classe List<T>.
Um exemplo de lista básica
Dica
Quando um bloco de trecho de código inclui o botão "Executar", esse botão abre a janela interativa ou substitui o código existente na janela interativa. Quando o trecho não inclui um botão "Executar", você pode copiar o código e adicioná-lo à janela interativa atual.
Execute o seguinte código na janela interativa. Substitua <name> pelo seu nome e selecione Executar:
List<string> names = ["<name>", "Ana", "Felipe"];
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");
}
Você criou uma lista de sequências de texto, adicionou três nomes a essa lista e imprimiu os nomes em maiúsculas. Você está usando conceitos que aprendeu em tutoriais anteriores para percorrer a lista.
O código para exibir nomes faz uso do recurso de interpolação de cadeia . Ao preceder um string com o caractere $, você pode incorporar o código C# na declaração de cadeia de caracteres. A cadeia de caracteres real substitui esse código C# pelo valor que ele gera. Neste exemplo, ele substitui o {name.ToUpper()} por cada nome, convertido em letras maiúsculas, ao invocar o método String.ToUpper.
Vamos continuar explorando.
Modificar o conteúdo da lista
A coleção que você criou usa o tipo List<T>. Este tipo armazena sequências de elementos. Você especifica o tipo dos elementos entre os colchetes angulares.
Um aspeto importante desse tipo de List<T> é que ele pode crescer ou encolher, permitindo que você adicione ou remova elementos. Você pode ver os resultados ao modificar o conteúdo após exibi-lo. Adicione o seguinte código após o código que você já escreveu (o loop que imprime o conteúdo):
Console.WriteLine();
names.Add("Maria");
names.Add("Bill");
names.Remove("Ana");
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");
}
Você adicionou mais dois nomes ao final da lista. Você removeu um também. A saída deste bloco de código mostra o conteúdo inicial e, em seguida, imprime uma linha em branco e o novo conteúdo.
O List<T> permite que se faça referência a itens individuais por índice também. Você acessa itens usando os tokens [ e ]. Adicione o seguinte código depois do que você já escreveu e experimente:
Console.WriteLine($"My name is {names[0]}.");
Console.WriteLine($"I've added {names[2]} and {names[3]} to the list.");
Você não tem permissão para acessar após o final da lista. Você pode verificar o tamanho da lista usando a propriedade Count. Adicione o seguinte código:
Console.WriteLine($"The list has {names.Count} people in it");
Selecione Executar novamente para ver os resultados. Em C#, os índices começam em 0, portanto, o maior índice válido é um a menos do que o número de itens na lista.
Pesquisar e ordenar listas
Nossos exemplos usam listas relativamente pequenas, mas seus aplicativos geralmente podem criar listas com muito mais elementos, às vezes numerando milhares. Para encontrar elementos nessas coleções maiores, você precisa pesquisar itens diferentes na lista. O método IndexOf procura um item e retorna o índice do item. Se o item não estiver na lista, IndexOf retornará -1. Experimente para ver como funciona. Adicione o seguinte código após o que você escreveu até agora:
var index = names.IndexOf("Felipe");
if (index == -1)
{
Console.WriteLine($"When an item is not found, IndexOf returns {index}");
}
else
{
Console.WriteLine($"The name {names[index]} is at index {index}");
}
index = names.IndexOf("Not Found");
if (index == -1)
{
Console.WriteLine($"When an item is not found, IndexOf returns {index}");
}
else
{
Console.WriteLine($"The name {names[index]} is at index {index}");
}
Talvez você não saiba se um item está na lista, então você deve sempre verificar o índice retornado por IndexOf. Se for -1, o item não foi encontrado.
Os itens da sua lista também podem ser classificados. O método Sort classifica todos os itens na lista em sua ordem normal (alfabeticamente para strings). Adicione este código e execute novamente:
names.Sort();
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");
}
Listas de outros tipos
Tens usado o tipo string em listas até agora. Vamos fazer um List<T> usando um tipo diferente. Vamos construir um conjunto de números. Exclua o código que você escreveu até agora e substitua-o pelo seguinte código:
List<int> fibonacciNumbers = [1, 1];
Isso cria uma lista de inteiros e define os dois primeiros inteiros para o valor 1. A Sequência de Fibonacci, uma sequência de números, começa com dois 1's. Cada número de Fibonacci seguinte é encontrado tomando a soma dos dois números anteriores. Adicione este código:
var previous = fibonacciNumbers[fibonacciNumbers.Count - 1];
var previous2 = fibonacciNumbers[fibonacciNumbers.Count - 2];
fibonacciNumbers.Add(previous + previous2);
foreach (var item in fibonacciNumbers)
{
Console.WriteLine(item);
}
Pressione Executar para ver os resultados.
Desafio
Veja se consegue juntar alguns dos conceitos desta e de lições anteriores. Expanda o que você construiu até agora com Fibonacci Numbers. Tente escrever o código para gerar os primeiros 20 números na sequência. (Como dica, o número 20 de Fibonacci é 6765.)
Inventou algo assim?
List<int> fibonacciNumbers = [1, 1];
while (fibonacciNumbers.Count < 20)
{
var previous = fibonacciNumbers[fibonacciNumbers.Count - 1];
var previous2 = fibonacciNumbers[fibonacciNumbers.Count - 2];
fibonacciNumbers.Add(previous + previous2);
}
foreach (var item in fibonacciNumbers)
{
Console.WriteLine(item);
}
A cada iteração do loop, você pega os dois últimos inteiros da lista, soma-os e adiciona esse valor à lista. O loop se repete até que você adicione 20 itens à lista.
Você concluiu o tutorial interativo sobre listas, que é a parte final da introdução ao tutorial interativo em C#. Você pode visitar o site do .NET para baixar o SDK do .NET, criar um projeto em sua máquina e continuar codificando. A secção "Próximos passos" traz-o de volta a estes tutoriais. Ou, você pode continuar com o tutorial Explorar programação orientada a objetos com classes e objetos .
Você pode saber mais sobre coleções .NET nos seguintes artigos: