Mapa mental
APROFUNDAMENTO C#
Contenido del mapa
APROFUNDAMENTO C#
Exceções
- Exceções são mecanismos para lidar com situações inesperadas durante a execução de um programa
- Acessar um índice fora dos limites de uma matriz
- Divisão por zero
- Falha ao acessar um recurso externo
- Entrada inválida do usuário
- Classe Exception
- Representadas por objetos derivados da classe Exception, localizada no namespace System
- Throw
- Cria e lança uma exceção, interrompendo o fluxo normal do programa
- Catch
- Throw interrompe o fluxo normal de execução do programa e começa a procurar um bloco de código designado para lidar com a exceção, conhecido como catch
- Try‑catch
- Blocos catch são definidos dentro de construções try‑catch, onde o bloco try contém o código que pode lançar uma exceção, e o bloco catch possui o código para tratar a exceção, caso ocorra
- Throw
- Representadas por objetos derivados da classe Exception, localizada no namespace System
- Exceções são mecanismos para lidar com situações inesperadas durante a execução de um programa
Delegação
- Delegação é um mecanismo que encapsula métodos dentro de objetos, tornando o código mais modular e extensível
- Principais usos
- Eventos
- Permite que objetos emitam sinais de mudança de estado e outros objetos reajam
- Callbacks
- Permite passar métodos como parâmetros para serem chamados quando necessário
- Flexibilidade
- Facilita a programação desacoplada, onde diferentes partes do código podem interagir sem dependências diretas
- Eventos
- Implementação em C#
- A delegação em C# é implementada através do delegate, um tipo de referência que pode encapsular um método com um tipo específico de assinatura e retorno
- Um delegate pode referenciar tanto métodos estáticos quanto instância e, uma vez criado, pode ser invocado como qualquer outro método
- Ao criar um delegate, não se está chamando um método, mas criando uma referência de tipo seguro para esse método
- O compilador de C# verificará se o método referenciado pelo delegate tem a assinatura correta, garantindo consistência e segurança do tipo na hora da compilação.
- Funcionamento
- Criamos um delegate → Ele armazena a referência de um método com uma assinatura específica
- Podemos chamá-lo como se fosse um método normal
- Principais usos
- Delegação é um mecanismo que encapsula métodos dentro de objetos, tornando o código mais modular e extensível
Tuplas
- São tipos de dados que armazenam múltiplos elementos em uma única unidade, podendo conter valores de tipos diferentes
- A partir do C# 7.0
- Introduzidas tuplas valorizadas (tipos de valor), mais eficientes e sintaticamente agradáveis
- Antes do C# 7.0
- Eram tipos de referência (System.Tuple), menos eficientes e menos práticos
- São imutáveis (seus valores não podem ser alterados após a atribuição)
- Melhor para dados temporários; em projetos grandes, classes ou estruturas nomeadas podem ser mais apropriadas para manter a clareza e manutenibilidade do código
Coleções
- Coleções são classes ou estruturas que armazenam múltiplos elementos, como variáveis, objetos ou outras coleções
- Permitem manipulação eficiente de dados, facilitando ordenação, filtragem, busca, inserção e remoção
- Principais namespaces de coleções na BCL
- System.Collections
- Coleções não genéricas
- ArrayList
- HashTable
- Coleções não genéricas
- System.Collections.Generic
- Coleções genéricas
- List<T>
- Lista dinâmica baseada em array. Melhor para acesso rápido por índice
- Dictionary<TKey, TValue>
- Armazena pares chave-valor. Busca eficiente por chave
- List<T>
- Coleções genéricas
- System.Collections.Concurrent
- Coleções para ambientes multithread
- ConcurrentDictionary<TKey, TValue>
- Dicionário otimizado para acesso simultâneo em threads
- ConcurrentDictionary<TKey, TValue>
- Coleções para ambientes multithread
- System.Collections.Immutable
- Coleções imutáveis
- ImmutableList<T>
- Lista imutável, qualquer modificação cria uma nova instância
- ImmutableList<T>
- Coleções imutáveis
- System.Collections
- O uso adequado de coleções melhora a organização, desempenho e legibilidade do código
- Coleções são classes ou estruturas que armazenam múltiplos elementos, como variáveis, objetos ou outras coleções
Expressões regulares
- Maneira sofisticada e eficiente de processar texto , permitindo executar operações complexas de manipulação de string
- Emprega-se a classe Regex,
- ^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
- É uma regex que valida a maioria dos endereços de e-mails comuns
- <([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)</\1>
- É a regex utilizada para encontrar tags HTML e seu conteúdo
- ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,}$
- É uma regex que assegura que a string contém pelo menos oito caracteres, pelo menos uma letra maiúscula, uma minúscula e um número
- É útil para validar senhas que precisam cumprir critérios específicos de segurança
- É uma regex que assegura que a string contém pelo menos oito caracteres, pelo menos uma letra maiúscula, uma minúscula e um número
- ^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
- Emprega-se a classe Regex,
- Maneira sofisticada e eficiente de processar texto , permitindo executar operações complexas de manipulação de string
Información
- Descripción
- 1º ano PROGRAMAÇÃO ORIENTADA A OBJETOS I Mapa Mental sobre APROFUNDAMENTO C#, creado por Isabela Caetano el 01/04/2025.
- Creado por
- Isabela Caetano
- Visitas
- 1
- Valoración