Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Criação de lista

Bom dia. Eu resolvi o desafio usando um método (Fiz da forma mais trabalhosa rsrs), dentro dele iniciei a lista List tonalidades = new(){"C","C#","D","D#","E","F"}.

A duvida de fato é, qual a diferença entre "List tonalidades = new(){"C","C#","D","D#","E","F"}" e "string[] Tonalidades = {"C","C#","D","D#","E","F"}"?

Seria boa pratica ou há alguma outra vantagem?

2 respostas
solução!

Boa tarde,

Existe um conceito muito importante de List e array que por questões de boas práticas é o seguinte:

Array : Use quando você sabe antecipadamente o tamanho que irá conter e não mudará ao longo do tempo.

List: Use quando você precisa de uma estrutura mais flexível, ou seja, que possa crescer ou diminuir dinamicamente.

Segue algmas vantagens detalhadas do uso do array e do list:

Vantagens de Usar Arrays

1. Desempenho: Arrays têm desempenho superior em termos de acesso a elementos, já que seu tamanho é fixo e a memória é alocada de forma contígua. Isso torna o acesso aos elementos muito rápido (O(1)).

2. Menor Overhead: Arrays têm menos overhead em termos de memória do que listas, pois não precisam armazenar informações adicionais como a capacidade ou a contagem de elementos.

3. Simples: Para estruturas de dados que não precisam ser redimensionadas, usar arrays pode ser mais simples e direto.

4. Uso em Interoperabilidade: Arrays são frequentemente mais compatíveis com APIs e bibliotecas que esperam receber dados em formato de array.

Vantagens de Usar Listas (List)

1. Redimensionamento Dinâmico: Listas podem ser redimensionadas automaticamente. Se você não souber o número de elementos de antemão, as listas são mais convenientes, pois podem crescer conforme necessário.

2. Funcionalidades Adicionais: A classe List fornece muitos métodos úteis para manipulação de coleções, como Add, Remove, Sort, Find, entre outros. Isso facilita a implementação de funcionalidades complexas.

3. Facilidade de Uso: A sintaxe e as funcionalidades de List geralmente tornam o código mais legível e fácil de manter. Você não precisa se preocupar em gerenciar o tamanho do array manualmente.

4. Interfaces de Coleção: Listas implementam várias interfaces de coleção, como IEnumerable e ICollection, permitindo uma integração mais fácil com LINQ e outras funcionalidades do .NET.

Entendi, obrigado!