Biblioteca Padrão C# (.NET): Visão Completa
A biblioteca padrão .NET (Base Class Library, BCL) é a base fundamental para o desenvolvimento em C#. Ela fornece milhares de classes, interfaces, estruturas e enumerações prontas que cobrem praticamente todos os aspectos da programação: desde o trabalho com números e strings até comunicação em rede e acesso a bancos de dados. Nesta visão geral, exploraremos os principais namespaces e suas capacidades.
Namespace System: A Base de Tudo
O namespace System contém os tipos de dados básicos usados em todas as aplicações C#. Isso inclui:
- Tipos primitivos:
Boolean,Byte,Int32,Double,Char,Stringe outros. Cada um possui métodos para conversão, comparação e formatação. - Classe
Math: fornece constantes (π, e) e métodos estáticos para cálculos trigonométricos, logarítmicos e estatísticos. - Classe
Convert: permite converter tipos de dados com segurança (por exemplo, string em número). - Classe
Console: gerencia a entrada e saída em uma aplicação de console.
using System;
int a = 42;double b = Math.Sqrt(a);string text = Convert.ToString(a);Console.WriteLine($"A raiz quadrada de {text} é {b}");System.Collections e System.Collections.Generic: Trabalhando com Coleções
Estes namespaces contêm classes para armazenar e gerenciar grupos de objetos. Aplicações modernas devem usar as versões genéricas de System.Collections.Generic, pois elas oferecem segurança de tipo e melhor desempenho.
List<T>— um array dinâmico.Dictionary<TKey, TValue>— uma coleção chave-valor.Queue<T>eStack<T>— implementações de fila e pilha.HashSet<T>— um conjunto de elementos únicos.
using System.Collections.Generic;
var numbers = new List<int> { 1, 2, 3, 4, 5 };numbers.Add(6);numbers.Remove(3);
var map = new Dictionary<string, int>{ { "um", 1 }, { "dois", 2 }};
if (map.ContainsKey("um")) Console.WriteLine(map["um"]);System.Linq: Linguagem de Consulta Integrada
LINQ (Language Integrated Query) permite executar consultas em coleções, bancos de dados, XML e outras fontes de dados usando uma sintaxe unificada. Os principais métodos de extensão são definidos no namespace System.Linq:
Where— filtragem.Select— projeção.OrderBy/ThenBy— ordenação.GroupBy— agrupamento.Aggregate,Sum,Count— operações de agregação.
using System.Linq;
int[] scores = { 85, 92, 78, 95, 88 };var highScores = scores .Where(s => s >= 90) .OrderByDescending(s => s) .Select(s => $"Nota: {s}");
foreach (var item in highScores) Console.WriteLine(item);System.IO: Trabalhando com Sistema de Arquivos e Fluxos
O namespace System.IO fornece classes para leitura/escrita de arquivos, trabalho com diretórios e gerenciamento de fluxos de dados. Principais classes:
FileeFileInfo— métodos estáticos e de instância para trabalhar com arquivos.DirectoryeDirectoryInfo— gerenciamento de pastas.StreamReader/StreamWriter— leitura e escrita de arquivos de texto.
Também na biblioteca
ORM para PHP: comparação entre Doctrine, Eloquent e Cycle — exemplos de código
Configuração de aplicações C# (.NET): bibliotecas e abordagens
TipKit para Swift: Guia completo com exemplos práticos
Filas de Tarefas em Swift: GCD, OperationQueue e Swift Concurrency