Notas
.NET C#
Conteúdo das notas (4)
Página 1
AULA 1
1. Oq é .NET?
- é uma plataforma de desenvolvimento de diversas ferramentas, linguagens de programação e bibliotecas que permitem o desenvolvimento de diversos tipos de aplicações.
2. Oq é ASP .NET?
- é uma framework que estende .NET para criação de web apps.
3. Sobre .NET
- Gratuito e de software livre
- Plataforma cruzada
- Tipos de aplicação:
4. Ambientes de desenvolvimento ( IDEs)
- Visual Studio (mac e windows)
- Visual Studio Code
- Codespace (online)
Página 2
AULA 2
Open-source e gratuito - > .NET is open source on GitHub | .NET (microsoft.com)
Distribuição livre;
Acesso ao código-fonte;
Permissão para criação de trabalhos derivados;
Integridade do autor do código-fonte;
Não discriminação contra pessoas ou grupos;
Não discriminação contra áreas de atuação;
Distribuição da licença;
Licença não específica a um produto;
Licença não restritiva a outros programas;
Licença neutra em relação à tecnologia.
Quanto maior a versão do NET standard mais APIS ele vai ter, porem vai ter menos compatibilidade com as versoes dos outros jhonsons
O que é .NET Framework?
Ambiente de desenvolvimento e execução
focado em Windows
Common language runtime + .NET Class Library
- Common language runtime => gerenciamento de execução de outros apps
-.NET Class Library => biblioteca para reutilização de códigos
JIT é um compilador que traduz linguagem intermediaria para uma linguagem de maquina
Gerenciamento de memória
Sistema de tipos comum - > Tipos definidos pelo próprio framework
Grande e específicas bibliotecas de classes utilitárias
Interoperabilidade entre linguagens
Compatibilidade de versões
Uso do .NET Standard
Sobre .NET Core e .NET
Plataforma cruzada : Linux, Windows e Mac OS
Produzir um produto com base de código única
Open Source -> MIT e Apache 2
.NET = .NET Core + .NET Framework + Xamarin + Mono
Aquisição facilitada a partir do NUGET
Modular e com melhor desempenho - > Performance Improvements in .NET 5 - .NET Blog (microsoft.com)
Ciclos de lançamentos mais rápidos
Sobre ASP .NET Core
Construção de aplicações web, IoT apps e aplicações backend para mobile
Funcionalidades para construção de aplicações com renderização no servidor
Uso do MVC -> ASP.NET Core MVC
Uso de Padrão MVC ( Model-View-Controller)
Model: Representa o estado da aplicação, encapsulando lógica de negócio.
View: Responsável por apresentar dados através de interface.
Controller: Componentes que lidam com a interação do usuário a partir da View e trabalham com a model para apresentar respostas para o usuário.
Model Binding
Mapeamento automático de dados de requisições HTTP para parâmetros de métodos de ação
Model Validation : Validação automática no lado do cliente e servidor
Razor Pages e Razor markup
Modelo baseado em páginas -> simplificado
Interface e lógica de negócio são separados, mas dentro da página.
sintaxe de marcação para inserir código baseado em .NET em páginas WEB = Razor markup + C# + HTML
Tag Helpers
Permite que o código do lado do servidor participe da criação e renderização de elementos HTML em arquivos Razor
Experiência de desenvolvimento com HTML mais amigável
IntelliSense no ambiente para sintaxe HTML e Razor
Manutenção de código usando somente informações do servidor
Blazor
Framework para construir aplicativos do lado do cliente, que são executados direto no navegador com WebAssembly(WASM) usando C#.
Uso da interoperabilidade com Javascript para lidar com manipulação da DOM e chamadas de API.
Integração com frameworks como Angular, React e Bootstrap
Página 3
AULA 3
bool : lógico (true or false)
char: caracteres
byte: valores de 8 bits
int : Inteiros (32 bit)
long: valores de 64 bits (absurdamente grandes)
float: números quebrados ( mt usado em unity)
double: ponto flutuante (cálculo científico e etc)
decimal: Real (valores mais precisos)
string : textos
INSTRUÇÕES
Declaração de variáveis e constantes locais:
if
switch
while
do
for
foreach
break
continue
return
throw
try...catch...finally
using
Classes e Objetos
Classes são os tipos mais fundamentais de C#, uma classe é uma estrutura de dados que combina estado (campos) e ações (métodos).
Objetos são instâncias de uma classe, as classes suportam herança e polimorfismo, mecanismos pelos quais as classes derivadas podem estender e especializar as classes base.
Instâncias de classes (objetos) são criadas usando o operador new, que aloca memória para uma nova instância, chama um construtor para inicializar a instância e retorna uma referência à instância.
Ponto p1 = new Ponto(0, 0);
Ponto p2 = new Ponto(10, 20);
A memória ocupada por um objeto é recuperada automaticamente quando o objeto não está mais acessível. Não é necessário nem possível desalocar explicitamente objetos em C#.
Membros
Os membros de uma classe podem ser estáticos ou membros da instância.
Membros estáticos pertencem a classe e membros de instância pertencem ao objeto.
ex: Constantes, variáveis, métodos, propriedades, construtores, etc...
Acessibilidade
Cada membro de uma classe tem uma acessibilidade associada, que controla as regiões do texto do programa que podem acessar o membro.
ex:
public
protected
internal
private
Herança
Uma declaração de classe pode especificar uma classe base, herdando os membros public, internal e protected da classe base
Omitir uma especificação de classe base é o mesmo que derivar do tipo object
Métodos
Um método é um membro que implementa uma computação ou ação que poder ser executada por um objeto ou classe
Os métodos podem ter uma lista de parâmetros, que representam valores ou referências de variáveis passados para o método, e um tipo de retorno, que especifica o tipo do valor calculado e retornado pelo método.
Structs
Como as classes, as structs são estruturas de dados que podem conter membros de dados e membros de ação, mas, diferentemente das classes, as structs são tipos de valor e não requerem alocação de heap
Uma variável de um tipo de struct armazena diretamente os dados da estrutura, enquanto uma variável de um tipo de classe armazena uma referência a um objeto alocado na memória.
Structs não aceitam herança determinada pelo desenvolvedor
São úteis para pequenas estruturas de dados que possuem semântica de valor
O uso de structs em vez de classes para pequenas estruturas de dados pode fazer uma grande diferença no número de alocações de memória.
Construtores de structs são chamados com o operador new, semelhante a um construtor de classe, mas em vez de alocar dinamicamente um objeto no heap gerenciado e retornar uma referência a ele, um construtor struct simplesmente retorna o próprio valor struct (normalmente em um local temporário na stack), e esse valor é copiado conforme necessário
Interfaces
Uma interface define um contrato que pode ser implementado por classes e structs
Uma interface pode conter métodos, propriedades, eventos e indexadores.
Uma interface não fornece implementações dos membros que define - apenas suas "assinaturas"
As interfaces podem empregar herança múltipla
Enums
um enum é um tipo de valor distinto com um conjunto de constantes nomeadas
Você define enumerações quando precisa definir um tipo que pode ter conjunto de valores discretos. Eles usam um dos tipos de valor integral como armazenamento subjacente. Eles fornecem significado semântico aos valores discretos.
Cada tipo de enum possui um tipo integral correspondente chamado tipo subjacente do tipo de enum
Um tipo de enumeração que não declara explicitamente um tipo subjacente um tipo subjacente int
Principais conceitos organizacionais em C# são:
programas
namespaces
tipos
membros
assemblies
Página 4
Tipos de Referências e Valor em C#
Value types
Tipos primitivos
Valores numéricos
int
decimal
double, etc
Boolean (true/false)
Char
Tuples
Reference types
Classe
Interface
Delegate
Record
object
string
Informações
- Descrição
- Notas sobre .NET C#, criado por iara maria em 29-03-2022.
- Criado por
- iara maria
- Visualizações
- 2
- Avaliação