c list dictionary tutorial with code examples
Este tutorial explica a lista e o dicionário C # com exemplos. Você aprenderá como inicializar, preencher e acessar elementos no dicionário C # e na lista:
Em nosso tutorial anterior sobre coleções C #, aprendemos sobre os tipos de coleções presentes no C # como ArrayList, Hashtable, Stack, SortedList, etc. O que é comum entre esses tipos de coleção é que eles podem armazenar qualquer tipo de item de dados.
Isso parece muito útil para armazenar diferentes tipos de dados dentro de uma única entidade de coleção, mas a desvantagem é que, ao recuperar os dados da coleção, é necessário fazer o streaming de dados para um tipo de dados aplicável. Sem o datacast, o programa lançará uma exceção de tempo de execução e pode prejudicar o aplicativo.
=> Tutoriais de treinamento C # GRATUITOS para todos
Para resolver esses problemas, o C # também oferece classes de coleção genéricas. Uma coleção genérica oferece melhor desempenho durante o armazenamento e recuperação dos itens.
O que você aprenderá:
Lista C #
Já aprendemos sobre a ArrayList nos artigos anteriores. Basicamente, uma lista é semelhante a uma ArrayList, a única diferença é que a lista é genérica. A lista tem uma propriedade exclusiva de aumentar seu tamanho à medida que cresce, semelhante à lista de matrizes.
Como inicializar uma lista?
Podemos inicializar uma lista das seguintes maneiras:
//using List type for initialization List listInteger = new List(); //using IList type for initialization IList listString = new List();
Se você olhar o exemplo acima, verá que na primeira linha usamos List para inicializar uma lista de inteiros. Mas na segunda linha, usamos IList para a inicialização da lista de strings. Você pode usar qualquer um deles para o seu programa. A lista é na verdade a implementação da interface IList.
Como adicionar e inserir um elemento na lista?
Semelhante ao ArrayList, podemos adicionar um elemento à Lista usando o método Add (). O método add aceita o valor do tipo de dados como um argumento.
Sintaxe
ListName.Add(DataType value);
Vamos dar uma olhada em um programa simples para adicionar dados a uma lista e IList.
Programa:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List ;(); //Add elements to the list listInteger.Add(1); listInteger.Add(2); listInteger.Add(3); //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } }
O elemento também pode ser adicionado diretamente durante a inicialização da Lista. Podemos adicionar o valor diretamente à lista no momento da própria inicialização, de maneira semelhante à que fizemos durante nosso capítulo sobre Arrays.
Isso pode ser adicionado colocando chaves após a Lista e escrevendo o valor dentro dela separado por vírgulas. Vamos mudar o programa acima um pouco para que possamos adicionar o valor diretamente durante a inicialização.
como escrever casos de teste em teste de software com exemplo
Então, nosso programa agora será parecido com:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } }
No programa acima, inicializamos os valores da lista de inteiros no início durante a inicialização. Isso nos permitiu passar o valor diretamente sem escrever o método Add () para cada valor. Isso é muito útil se tivermos uma quantidade limitada de dados quantificáveis que precisamos colocar em uma lista.
Como acessar a lista?
Podemos acessar itens individuais da lista usando o índice. O índice pode ser passado entre colchetes após o nome da lista.
Sintaxe
dataType Val = list_Name(index);
Agora, vamos dar uma olhada em um programa simples para obter os dados da lista que criamos em nosso programa anterior.
Programa
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; int val = listInteger(1); Console.WriteLine(val); } }
A saída do programa a seguir será o valor no índice 1. O índice começa em 0, a saída será:
dois
Agora, digamos que queremos todos os dados da lista, podemos fazer isso usando o loop for-each ou para um loop.
Para Cada Loop
Podemos usar para cada loop para obter todos os dados da lista.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; foreach (var val in listInteger) { Console.WriteLine(val); } } }
Aqui, percorremos a lista usando para cada loop, declarando um valor de variável. Isso permitirá que cada loop atravesse a lista até que haja alguns dados dentro dela.
For Loop
Para usar o loop for, precisamos saber o número de elementos presentes na lista. O método Count () pode ser usado para obter a contagem do elemento.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; iÀs vezes, também podemos precisar inserir um novo elemento na lista. Para fazer isso, precisamos usar o método Insert () para adicionar um novo método em qualquer lugar dentro da lista. O método insert aceita dois argumentos, o primeiro é o índice no qual você deseja inserir os dados e o segundo sendo os dados que você deseja inserir.
A sintaxe da inserção é:
List_Name.Insert(index, element_to_be_inserted);
Agora, vamos inserir um elemento dentro da lista que criamos anteriormente. Adicionaremos uma instrução insert ao programa acima e tentaremos ver como funciona:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i Se executarmos o programa acima, o resultado será:
1
dois
3
Valor da lista após inserir novo val
1
22
dois
3
Após o loop for, adicionamos a instrução insert para inserir o inteiro 22 no índice 1 na lista definida anteriormente. Em seguida, escrevemos um para cada loop para imprimir todos os elementos agora presentes na lista (após inserir os primeiros dados).
Podemos ver claramente na saída que todos os elementos da lista foram deslocados para frente para abrir caminho para o novo elemento no índice 1. O índice 1 agora tem 22 como um elemento e o elemento anterior no índice 1, ou seja, 2 mudou para o próximo índice e assim por diante.
Como remover um elemento da lista?
Às vezes, também podemos exigir a remoção de itens da lista. Para fazer isso, o C # oferece dois métodos diferentes. Esses dois métodos são Remove () e RemoveAt (). Remove é usado para remover um determinado elemento da lista e RemoveAt é usado para remover qualquer elemento presente no índice fornecido.
Vamos dar uma olhada na sintaxe.
Sintaxe
Remove(Element name); RemoveAt(index);
Agora, vamos adicionar a instrução Remove ao código anterior e ver o que acontece.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i O resultado do programa acima será:
1
dois
3
Removendo valor da lista
1
3
No programa acima, usamos o método remove para remover o elemento 2 da lista. Como você pode ver na saída, uma vez que o método Remove foi executado, a lista não contém mais o elemento que removemos.
Da mesma forma, também podemos usar o método RemoveAt. Vamos substituir o método Remove no programa acima pelo método RemoveAt () e passar o número do índice como o parâmetro.
class Program { staticvoid Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i O resultado do programa acima será:
1
dois
3
Removendo valor da lista
1
dois
No programa acima, você pode ver claramente que removemos o elemento presente no índice 2 em vez de remover o inteiro 2. Portanto, dependendo do requisito, pode-se usar Remove () ou RemoveAt () para remover um determinado elemento de um Lista.
Dicionário C #
O Dicionário em C # é semelhante ao Dicionário que temos em qualquer idioma. Aqui também temos uma coleção de palavras e seus significados. As palavras são conhecidas como chaves e seus significados ou definições podem ser definidos como valores.
software de cópia de dvd grátis para mac
O dicionário aceita dois argumentos, o primeiro é a chave e o segundo é o valor. Ele pode ser inicializado usando uma variável da classe Dicionário ou da interface IDictionary.
A sintaxe do Dicionário é:
Dictionary
Vamos dar uma olhada em um programa simples para inicializar o Dicionário:
Dictionary data = new Dictionary();
No programa acima, você pode ver claramente que inicializamos os dados do dicionário com a chave e o valor como uma string. Mas você pode usar qualquer par de tipo de dados para chaves e valores. Por exemplo, se alterarmos a instrução acima para conter um tipo de dados diferente, também estará correto.
Dictionary data = new Dictionary();
O tipo de dados dentro do colchete angular é para chaves e valores. Você pode manter qualquer tipo de dados como chave e valor.
Como adicionar chaves e valores a um dicionário?
Vimos como podemos inicializar um dicionário. Agora vamos adicionar chaves e seus valores ao dicionário. O dicionário é bastante útil quando você deseja adicionar dados diferentes e seus valores em uma lista. O método Add () pode ser usado para adicionar dados ao dicionário.
Sintaxe
DictionaryVariableName.Add(Key, Value);
Agora, vamos incluir a instrução Add no programa acima para adicionar chaves e valores ao dicionário.
Programa
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); } }
No programa acima, usamos o método Add () para adicionar a chave e os valores ao dicionário. O primeiro parâmetro passado para o método Add () é a chave e o segundo parâmetro é o valor da chave.
Como acessar chaves e valores de um dicionário?
Conforme discutido em nosso tutorial na lista, também podemos acessar elementos do dicionário de várias maneiras diferentes. Discutiremos algumas das maneiras importantes pelas quais podemos acessá-lo aqui. Discutiremos for loop, para cada loop e índice para acessar itens de dados.
O índice pode ser usado para acessar valores específicos da lista.
O loop for pode ser usado para acessar ou recuperar todos os elementos do dicionário, mas requer o tamanho do dicionário para interromper o loop. Para cada loop é mais flexível, ele pode recuperar todos os dados presentes no dicionário sem exigir o tamanho do dicionário.
Usando Indexação
Um elemento do índice pode ser usado de forma semelhante a uma matriz para acessar o elemento, a diferença básica é que, em vez do índice, precisamos de chaves para acessar os valores.
Sintaxe
Dictionary_Name(key);
Programa
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); string value = dctn('two'); Console.WriteLine(value); Console.ReadLine(); } }
O resultado do programa acima será:
segundo
Usando For Loop para acessar o elemento
O loop for pode ser usado para acessar todos os elementos do dicionário. Mas também precisa obter a contagem do elemento dentro do dicionário para um número de iterações necessárias.
Vamos adicionar o loop for ao programa acima para recuperar todos os valores do dicionário.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); for(int i =0; i O resultado do programa acima será:
O elemento em chave: um e seu valor é: primeiro
O elemento na chave: dois e seu valor é: segundo
O elemento na chave: três e seu valor é: Terceiro
No programa acima, usamos o método ElementAt () para obter a chave em um determinado índice e, em seguida, usamos a mesma chave para recuperar os dados do valor da chave. O loop for itera por todos os dados dentro do dicionário. A propriedade Count foi usada para obter o tamanho do dicionário para iteração.
Usando For-Each Loop
Semelhante ao loop for, também podemos usar o for each loop.
Vamos dar uma olhada no programa acima com o loop for-each.
análise de valor limite e partição de equivalência
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); foreach (KeyValuePair item in dctn) { Console.WriteLine('The Key is :'+ item.Key+' - The value is: '+ item.Value); } Console.ReadLine(); } }
O resultado do programa acima será:
A chave é: um - o valor é: primeiro
A chave é: dois - O valor é: segundo
A chave é: três - O valor é: Terceiro
O programa acima usa KeyValuePair para declarar a variável, então iteramos por meio de cada um dos pares de valores-chave no dicionário e imprimimos no console.
Como validar a presença de dados em um dicionário?
Às vezes, precisamos verificar se determinada chave ou valor existe ou não no dicionário. Podemos validar isso usando dois métodos, ou seja, ContainsValue () e ContainsKey () para verificar a chave existente ou o valor dentro do dicionário.
O método contém é usado para validar se o valor fornecido está presente no dicionário ou não. O método ContainsKey é usado para verificar se uma determinada chave existe ou não no dicionário.
Sintaxe
Dictionary_Name.ContainsValue(Value); Dictionary_Name.ContainsKey(Key);
Vamos escrever um programa simples para validar usando o método Contains e ContainsKey.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); bool key = dctn.ContainsKey('one'); bool val = dctn.ContainsValue('four'); Console.WriteLine('The key one is available : ' + key); Console.WriteLine('The value four is available : ' + val); Console.ReadLine(); } }
O resultado do programa acima será:
O principal está disponível: Verdadeiro
O valor quatro está disponível: False
No programa acima, primeiro usamos o método ContainsKey para validar se a chave fornecida está presente no dicionário. Como a chave está presente no dicionário, o método retorna verdadeiro. Em seguida, usamos ContainsValue para determinar se o valor fornecido está presente ou não. Como o valor “quatro” não está presente no dicionário, ele retornará falso.
Como remover um elemento de um dicionário?
Pode haver um momento em que precisaremos remover um certo par de valores-chave do dicionário para cumprir certa lógica de programação. O método Remove pode ser usado para remover qualquer par do dicionário baseado na chave.
Sintaxe
Remove(key);
Programa
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); //removing key two dctn.Remove('two'); //validating if the key is present or not bool key = dctn.ContainsKey('two'); Console.WriteLine('The key two is available : ' + key); Console.ReadLine(); } }
O resultado do programa acima será:
As duas chaves estão disponíveis: False
No programa acima, primeiro adicionamos um par de valores-chave ao dicionário. Em seguida, removemos uma chave do dicionário e usamos o método ContainsKey () para validar se o par chave-valor não está mais presente no dicionário.
Conclusão
A lista armazena elementos do tipo de dados específico e aumenta conforme os itens são adicionados. Ele também pode armazenar vários elementos duplicados. Podemos acessar facilmente os itens dentro da Lista usando índice ou loops. A lista é muito útil para armazenar uma grande quantidade de dados.
Um dicionário é usado para armazenar pares de valores-chave. Aqui, as chaves devem ser exclusivas. Os valores do dicionário podem ser recuperados usando um loop ou índice. Também podemos validar chaves ou valores usando o método Contains.
=> Assista à série completa de treinamento C # aqui
Leitura recomendada
- Tutorial de tratamento de exceções C # com exemplos de código
- Tutorial Python DateTime com exemplos
- Tutorial de funções / métodos C # com exemplos de código
- Tutorial SVN: Gerenciamento de código-fonte usando Subversion
- Tutorial de string C # - Métodos de string com exemplos de código
- Tutorial do Tortoise SVN: revisões no repositório de código
- Tutorial de tupla do Python com exemplos práticos
- Comando Ls no Unix com exemplos