#DevInsights: Operações com conjuntos usando C# e LINQ
Você achava que a teoria dos conjuntos na matemática do ensino fundamental não tinha utilidade prática?
Esse post é apenas para dar uma ideia para quem ainda não conhecia ou ainda não tinha feito o link entre esses conceitos (matemática, programação, bases de dados) super interessantes e úteis.
A seguir, mostro 2 exemplos simples com as operações de União e Intersecção de conjuntos, usando o LINQ do C#:
- O primeiro caso é apenas para mostrar como representar uma situação bem simples com números como normalmente é apresentado esse conceito.
- O segundo caso também é muito simples mas já mostra por exemplo mais prático com 2 listas de funcionários.
- Para o caso de União (Union), poderíamos, por exemplo, supor que em uma dada situação em que fosse necessário obter a relação de nomes todos os funcionários sem repeti-los, neste caso, a fonte de dados seriam a partir de 2 listas diferentes disponíveis para filtrar e selecionar os dados.
- Para o caso da Intersecção (Intersect), poderíamos supor um caso em que fosse necessário relacionar apenas os nomes dos funcionários que estivessem presentes nas 2 listas.
- São exemplos muito simples usando Arrays pequenos e dados simulados, mas que podem ser aplicados a muitos casos do dia a dia. Essas operações inclusive podem ser utilizadas e/ou combinadas com dados obtidos de bancos de dados ou APIs externas.
- Outro ponto interessante de ressaltar, é que, embora eu tenha usado o LINQ no exemplo, os bancos de dados relacionais também disponibilizam este tipo de recurso. Para quem ainda não presenciou, saiba que uitos devs e DBAs, usam e abusam deste tipo de operação em consultas as bases de dados.
Link do Gist: https://gist.github.com/jpprobr/1fbe4016c4a8788642cd78c1ce45e0cb
Embora neste exemplo eu tenha usado apenas o Union e o Intersect, também existem outros tipos de operação.“Teste lá também!” 😉