GoConqr has a new look! Let us know what you think.

Notes

.NET C#

iara maria Portuguese 4 pages

Content of the notes (4)

Page 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)

Page 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

Page 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

Page 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

Information

Description
Note on .NET C#, created by iara maria on 29/03/2022.
Created by
iara maria
Views
2
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?