DEV Community

Cover image for A arte das coleções em .NET - Intro
Thaise Medeiros for Unhacked

Posted on • Edited on

2

A arte das coleções em .NET - Intro

Eu tenho estudado bastante sobre estrutura de dados e coleções em .NET. É incrível como entender o funcionamento e a aplicação de cada uma tem o poder de evoluir significativamente a qualidade do código que escrevemos. Por este motivo, decidi escrever uma série de artigos abordando as diferenças entre elas e quando utilizá-las.

O que são coleções?

"Dados semelhantes podem normalmente ser tratados com mais eficiência quando armazenados e manipulados como uma coleção."

Podemos encontrar as coleções na classe System.Array ou nas classes dentro dos namespaces: System.Collections, System.Collections.Generic, System.Collections.Concurrent e System.Collections.Immutable. Utilizando-as, teremos acesso aos métodos para adicionar, remover e modificar os elementos contidos em uma coleção.

Os dois tipos principais de coleções são as genéricas (System.Collections.Generic) e as não genéricas (System.Collections). A diferença entre elas é que as genéricas possibilitam criar coleções fortemente tipadas. Para exemplificar, imagine que tenhamos a classe Aluno conforme demonstrado abaixo:

public class Aluno
{
    public long Id {get; set;}
    public string Nome {get; set;}
}
Enter fullscreen mode Exit fullscreen mode

É possível criar uma coleção de alunos utilizando a nossa classe Aluno como tipo. Sendo assim, teríamos a possibilidade de manipular os itens sem a necessidade de conversão, afastando o tão temido boxing/unboxing entre os tipos. Por este motivo, a Microsoft aconselha a utilização de coleções genéricas sempre que possível pois elas fornecem melhor desempenho e segurança de tipos.

As coleções concorrentes (System.Collections.Concurrent) permitem operações thread-safe eficientes quando temos acesso à coleção através de múltiplas threads e as imutáveis (System.Collections.Immutable) também são thread-safe e, como o nome diz, esta coleção não pode ser modificada: as operações são feitas em cima de uma cópia da coleção original.

Para esta série, iremos focar nas coleções genéricas e não genéricas o que vai nos dar muito assunto!

Conclusão

As coleções muitas das vezes são tratadas como simples e não damos a devida importância aos tipos e onde se encaixam. Após essa introdução e apresentação sobre coleções no .NET, no próximo post falaremos sobre uma coleção que provavelmente todo mundo já ouviu falar e é muito utilizada: Lista.

Referências:

Collections and Data Structures
Selecting a Collection Class

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay