Documente Academic
Documente Profesional
Documente Cultură
Programação Orientada a
Objetos + Projetos
Capítulo: Introdução ao C# e .NET
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Conteúdo
• C# e .NET
• Compilação e interpretação
• Estrutura de uma aplicação C# .NET
C# e .NET
http://educandoweb.com.br
Prof. Dr. Nelio Alves
C# e .NET
• C# : uma linguagem de programação (regras sintáticas)
• https://www.microsoft.com/net/learn/what-is-dotnet
Linguagens
.NET
• BCL - Base Class Library
https://msdn.microsoft.com/en-us/library/gg145045(v=vs.110).aspx
https://docs.microsoft.com/pt-br/dotnet/framework/migration-guide/how-to-
determine-which-versions-are-installed
2002
Implementações
2004
2011
https://docs.microsoft.com/en-
us/dotnet/standard/net-standard
2016
Open
SO Propósito
Source
iOS
Usado para criar aplicativos móveis híbridos para iOS e Android, e
Xamarin Android Sim
também para aplicações desktop para Mac OS
Mac OS
Windows
Usado para criar aplicativos modo console multiplataforma, e também
.NET Core Linux Sim
para criar aplicativos web ASP.NET Core e serviços para nuvem
Mac OS
https://msdn.microsoft.com/pt-br/magazine/mt842506.aspx
https://stackoverflow.com/questions/39649976/is-it-possible-to-make-desktop-gui-application-in-net-core
Compilação e interpretação
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Compilação e interpretação
• Linguagens compiladas: C, C++
#include <iostream>
int main() {
double x, y, average;
compilador 1
compilador 3
compilador 2
using System;
namespace Course {
class Program { Common Intermediate Language (CIL)
static void Main(string[] args) { "platform agnostic"
double x, y, average;
compilador
Console.Write("Enter first number: "); Bytecode
x = int.Parse(Console.ReadLine());
Console.Write("Enter second number: ");
y = int.Parse(Console.ReadLine());
average = (x + y) / 2.0;
Console.WriteLine("Average = " + average);
}
}
}
Modelo de execução
using System;
namespace Course {
class Program {
compilação
static void Main(string[] args) { Common Intermediate
Console.WriteLine("Hello World");
Language (CIL)
} compilador
}
}
Compilação just-in-time
.NET
(JIT)
Common Language Runtime
Muito mais rápido que
(CLR) - específica ao SO
a interpretação
Código de máquina
Estrutura de uma aplicação C# .NET
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Class
Class
Class
Class Class
Class
Class Class
Entities Services
Class Class
Class
Class
Class Repositories
Class
Assembly (DLL ou EXE) = Agrupamento FÍSICO de classes relacionadas (build)
Financial Graphics
Class Class
Aplicação ~ Solution
Assembly ~ Project
Sistema de comércio eletrônico
• Rodar o instalador
• Cargas de Trabalho:
• Desenvolvimento com a Plataforma Universal do Windows
• Desenvolvimento para Desktop com .NET
• ASP.NET e desenvolvimento Web
• Desenvolvimento de multiplataforma com .NET Core
Primeiro programa em C# no
Visual Studio
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Checklist
• Arquivo -> Novo -> Projeto -> Aplicativo de Console (.NET Core)
• File -> New -> Project -> Console App (.NET Core)
• Solution Explorer
• Solution -> aplicação
• Project -> assembly
Checklist
• Estrutura de arquivos
• Arquivo .sln
• Arquivo .csproj
• Classe principal .cs
• Subpastas obj e bin
• Program.cs
• Cláusulas using: referências a outros namespaces
• Namespace
• Classe
• Método
• static void Main(string[] args)
• Quebra de linha nas chaves: Tools -> Options -> Text Editor -> C# ->
Code Estiling -> Formatting -> New Lines