Please enable JavaScript.
Coggle requires JavaScript to display documents.
Primeiros passos com .NET + C# - Coggle Diagram
Primeiros passos com .NET + C#
Microsoft
1997 (VS 97)
VB 5
Visual Fox Pro 5
C++ 5
J++
Visual Studio: infraestrutura para desenvolvimento de software, utiliza a plataforma .NET (conjunto de linguagens e compiladores)
1998 (VS 98)
VB 6
Visual FoxPro 6
C++ 6
j++ 6
1999
ASP > ASP Next > ASPX
feita com java, é uma extensão dos arquivos web forms, do .NET
Sun Microsystems decide que a Microsoft não mexerá mais com Java, e nesse momento iniciou o desenvolvimento da linguagem C# por parte do desenvolvedor Anders Hejlsberg
2000
.net (dot net)
2002
Visual Studio .NET
22 linguagens, 1 plataforma
exemplos
C++ .NET
VB .NET
J# .NET
C# .NET
2003
Visual Studio 2003 (.NET 1.1)
Common Language Runtime (CLR) 2: Responsável por transformar os códigos intermediários (que foram transcritos pelo compilador da linguagem) em linguagem de máquina
Common Language Specification (CLS): Responsável por permitir o desenvolvimento em diversas linguagens
https://prnt.sc/thvycw
Visual Studio 2005 (.NET 2.0)
consolidação do asp net
evolução na web
Visual Studio 2008 (.NET 3.5)
Silverlight
WPF
app desktop
WCF
serviços web
desenvolvendo ASP .NET MVC
Visual Studio 2010 (.NET 4.0)
F#
orientação afuncional
windows azure
2011 (xamarin)
Visual Studio 2012
typescript
Visual Studio 2013
roslyn: novo compilador para C# (foi desenvolvido em C#) e VB .NET
Visual Studio 2015 (.NET 4.6)
Visual Studio Code
Visual Studio 2016
ASP .NET 4.6
.NET FRAMEWORK LIBRARIES
ASP .NET CORE 1.0
.NET CORE LIBRARIES
Visual Studio 2017
.NET FRAMEWORK 4.7
.NET CORE 2.0
Visual Studio 2019
.NET FRAMEWORK 4.8
.NET CORE 3.0
2020
.NET FRAMEWORK 4.8 está pronto e não será mais evoluído, juntamente com WCF e ASP.NET Webforms
.NET 5 (tudo o que há de melhor do .NET framework e .NET core)
1980++ (foco em sistemas operacionais) parceria com a IBM, que fornecia os computadores enquanto a Microsoft fornecia o SO (DOS)
1970 -> (foco em linguagens de programação) Basic
CLI do .NET
comandos
dotnet --help: documentação da interface do .net
dotnet --version: exibe a versão do .net core SDK instalada
dotnet --info: informa
C#
seu código-fonte escrito é compilado em uma linguagem intermediária (IL) através do Roslyn (atual compilador do c#)
o código e recursos de IL são armazenados no disco em um arquivo executável chamado assembly, geralmente com uma extensão .exe ou .dll. após isso quando o programa é executado, o assembly é carregado no CLR
o CLR executará a compilação "just in time (JIT)" para converter o código IL em linguagem de máquina (0 e 1)
Garbage Collector: verifica objetos em memória que não estão sendo utilizados e os desaloca, para liberar memória
Exception Handler: controla as exceções de erros durante a execução
Resourcer Manager: gerenciador de recursos
como funciona:
https://prnt.sc/tj5598
conceitos organizacionais
programas
projeto
namespaces
tipos
classes e interfaces
membros
campos, métodos, propriedades e eventos
assemblies
dll ou exe
acessibilidade
public
acessível a todas as classes
protected
acessível apenas às classes herdadas da classe base
internal
acessível apenas ao assembly em que participa
private
acessível apenas na classe onde ele está contido
herança
"classes filhas" que herdam de uma (e somente uma) classe "pai", caso não seja especificado, a classe herdará por padrão da classe Object
virtual
permite que uma função seja sobrescrita em uma classe filha
override
serve para sobrescrever uma função da classe base
base
utilizado para acessar os membros da classe herdada
this
utilizado para acessar os membros da classe atual
ref
utilizado ao passar um campo por parâmetro, passando o campo por referência e não por valor
out
permite declarar variáveis (como parâmetros) na chamada do método
struct
struct é parecido com classe, a diferença é a alocação de memória, que vai para o stack, em vez de ir ao heap, ou seja, se torna um tipo por valor e não por referência
não pode herdar de outras structs ou de classes, mas pode implementar interfaces
interface
contém métodos, propriedades, eventos e indexadores e não fornece implementações dos membros que define, apenas suas assinaturas
podem empregar herança múltipla
memória
stack
memória alocada às variáveis do tipo por valor
heap
memória alocada às variáveis do tipo por referência
enums
exemplo de utilização: em uma ocasião onde o programa pede para escolher prosseguir caso a escolha do usuário seja verde, ou voltar caso seja vermelho, nesse sentido, utiliza-se o enum
enum escolha
{
verde,
vermelho
}
https://prnt.sc/tk32wa
https://prnt.sc/tk331j
https://prnt.sc/tk3355
para debug > .vscode > launch.jason > modificar valor de console para "integratedTerminal"; dessa forma sendo possível a utilização do terminal integrado do vscode