c# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · o que fazer para começar a...
TRANSCRIPT
![Page 1: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/1.jpg)
GRUPO:
Rafael Igor
Vanderlei Vieira
C#
![Page 2: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/2.jpg)
❏ Paradigmas: ❏ Orientado a objeto;❏ Estruturado;❏ Imperativo;
❏ Surgimento: 2002.
❏ Criador: Anders Hejlsberg.
❏ Principais Compiladores: .NET Framework (Windows), Mono (UNIX, MAC, Windows).
❏ Principais Influências: Java, C++, Modula-3.
❏ Tipagem: estática e dinâmica, forte, segura e insegura
❏ Página Oficial: msdn.microsoft.com
INTRODUÇÃO
![Page 3: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/3.jpg)
HISTÓRIA
❏ No final da década de 90 a Microsoft tinha diversas linguagens de programação para resolver muitos problemas diferentes. ❏ Problema gerado: Migrar para uma nova
linguagem se tornou trabalhoso para os programadores.
❏ Solução: Microsoft recorreu a linguagem Java, criando sua própria implementação, o J++.
![Page 4: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/4.jpg)
HISTÓRIA❏ O J++ só poderia ser executada em Windows. Isso fez
com que a Sun Microsystems processasse a Microsoft por questões de violação de licenciamento.
❏ A Microsoft começou então a trabalhar em uma nova plataforma que seria a base de todas as suas soluções, o .Net. Nela pode-se trabalhar com diversas linguagens de programação, assim diversas linguagens diferentes compartilhariam o mesmo conjunto de bibliotecas.
![Page 5: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/5.jpg)
HISTÓRIA❏ Desenvolvimento de um novo projeto de linguagem
chamada COOL (C-like Object Oriented Language).
❏ Design baseado em diversas outras linguagens do mercado como Java, C, C++, Smalltalk, Delphi e VB.
❏ Em 2002, o projeto COOL foi lançado como linguagem C# 1.0 juntamente com o ambiente .Net 1.0.
![Page 6: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/6.jpg)
O que fazer para começar a aprender C#?
• Microsoft .Net Framework 4.6:https://www.microsoft.com/en-us/download/details.aspx?id=44928
• Visual Studio (C# 5.0)https://www.visualstudio.com/products/visual-studio-2015-downloads-vs
![Page 7: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/7.jpg)
O que fazer para começar a aprender C#?
Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop.
Download no Mac: • mono-project.com/download/#download-mac
Instalação no Ubuntu 14.04:
Compilação e execução por linha de comando:
$> sudo apt-get install software-properties-common$> sudo add-apt-repository ppa:inizan-yannick/mono$> sudo apt-get update$> sudo apt-get install mono-devel
$> mcs exemplo.cs$> mono exemplo.exe
![Page 8: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/8.jpg)
Compilação● Compilador híbrido
![Page 9: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/9.jpg)
Amarrações
![Page 10: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/10.jpg)
Amarrações
C# é case sensitive
![Page 11: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/11.jpg)
Escopo
C# possui escopo estático
Escopo de Namespace● Identificadores de grupos
Escopo de Classe● define/declara váriáveis e funções
Escopo de bloco mais externo (Função)● inclui instruções executáveis
Escopo de bloco mais interno● declarações executadas
condicionalmente
![Page 12: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/12.jpg)
Tipos de Dados➢ Tipos Valores
○ Primitivos○ Enumerados○ Estruturas
➢ Tipos Referência ○ Arrays○ Classes○ Interfaces○ Delegates
![Page 13: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/13.jpg)
Tipos de Dados e Valores➢ Tipos Primitivos
![Page 14: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/14.jpg)
Tipos de Dados e Valores
➢ Tipos○ Compostos
■ Strings
![Page 15: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/15.jpg)
Tipos de Dados e Valores
➢ Tipos○ Compostos
■ Strings
![Page 16: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/16.jpg)
➢ Tipos○ Compostos
■ Arrays
Tipos de Dados e Valores
![Page 17: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/17.jpg)
➢ Tipos○ Compostos
■ Arrays
Tipos de Dados e Valores
![Page 18: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/18.jpg)
Tipos de Dados e Valores
➢ Tipos○ Compostos
■ Struct
![Page 19: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/19.jpg)
Tipos de Dados e Valores
➢ Tipos○ Compostos
■ Enum
![Page 20: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/20.jpg)
Delegate
![Page 21: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/21.jpg)
Delegate
![Page 22: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/22.jpg)
Variáveis e Constantes
![Page 23: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/23.jpg)
Variáveis
➢ Var ○ Permite a tipagem em tempo de compilação
dependendo do primeiro valor atribuído a variável.
![Page 24: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/24.jpg)
Variáveis
➢ Dynamic○ Permite a tipagem em tempo de execução
![Page 25: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/25.jpg)
Variáveis
➢ Dynamic○ Permite a tipagem em tempo de execução
![Page 26: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/26.jpg)
Operadores
![Page 27: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/27.jpg)
Palavras-chave reservadas
![Page 28: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/28.jpg)
Palavras-chave reservadas
![Page 29: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/29.jpg)
Palavras-chave reservadas
![Page 30: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/30.jpg)
Palavras-chave reservadas
![Page 31: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/31.jpg)
Palavras-chave reservadas
![Page 32: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/32.jpg)
Palavras-chave reservadas
![Page 33: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/33.jpg)
Palavras-chave reservadas
![Page 34: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/34.jpg)
Palavras-chave reservadas
![Page 35: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/35.jpg)
Palavras-chave não reservadas
![Page 36: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/36.jpg)
Palavras-chave não reservadas
![Page 37: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/37.jpg)
Garbage Collector (Coletor de lixo)
![Page 38: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/38.jpg)
Passagem de Parâmetros
➢ Existem 4 formas diferentes de passar parâmetros em C#○ Por Referencia:
■ Out■ Ref
○ Por Valor:■ Params■ Value
![Page 39: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/39.jpg)
Passagem de Parâmetros
➢ Out
![Page 40: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/40.jpg)
Passagem de Parâmetros
➢ Out
![Page 41: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/41.jpg)
Passagem de Parâmetros
➢ Out
![Page 42: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/42.jpg)
Passagem de Parâmetros
➢ Ref
![Page 43: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/43.jpg)
Passagem de Parâmetros
➢ Ref
![Page 44: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/44.jpg)
Passagem de Parâmetros
➢ Value
![Page 45: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/45.jpg)
Passagem de Parâmetros
➢ Params
![Page 46: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/46.jpg)
Passagem de Parâmetros
➢ Params
![Page 47: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/47.jpg)
Classe
![Page 48: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/48.jpg)
Classe Abstrata
![Page 49: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/49.jpg)
Namespace
➢ Ajuda na organização das classes.➢ Não estão ligados a pastas (diferente dos
packages em Java).○ pastas com classes de namespace diferentes do
nome da pasta.○ pastas com classas de namespaces diferentes.
![Page 50: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/50.jpg)
Namespace
![Page 51: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/51.jpg)
Namespace
Namespaces são identificados pelo uso do operador ‘.’ (classe Aluno pertence ao namespace “LP”)
![Page 52: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/52.jpg)
Namespace
![Page 53: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/53.jpg)
Namespace
➢ C# possui a palavra reservada using para importar classes e evitar repetições
➢ exemplo:
![Page 54: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/54.jpg)
Criando Objetos
![Page 55: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/55.jpg)
Criando Objetos
O método toString será chamado!
![Page 56: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/56.jpg)
Criando Objetos
![Page 57: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/57.jpg)
Leitura e Escrita em Arquivos
➢ Leitura:
Ambos os procedimentos imprimem na tela o conteúdo do arquivo text.txt.
![Page 58: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/58.jpg)
Leitura e Escrita em Arquivos
➢ Leitura:○ Se o arquivo não for encontrado, uma exceção
será lançada e a seguinte mensagem irá aparecer
![Page 59: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/59.jpg)
Leitura e Escrita em Arquivos
➢ Escrita:
Ambos os procedimentos escrevem no arquivo text.txt o mesmo texto.
![Page 60: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/60.jpg)
Leitura e Escrita em Arquivos
➢ Escrita:
![Page 61: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/61.jpg)
Leitura e Escrita em Arquivos
➢ Escrita:○ Se o arquivo que será escrito não existir ele será
criado.○ Se o arquivo já existir ele será sob escrito.
![Page 62: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/62.jpg)
Leitura e Escrita em Arquivos
Todas as funções mostradas anteriormente abrem e fecham os arquivos automaticamente.
![Page 63: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/63.jpg)
Polimorfismo
➢ Tipos de polimorfismo○ Ad-hoc
■ Sobrecarga■ Coerção
○ Universal■ Paramétrico■ Inclusão
![Page 64: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/64.jpg)
Polimorfismo
➢ Sobrecarga
![Page 65: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/65.jpg)
Polimorfismo
➢ Sobrecarga
![Page 66: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/66.jpg)
Polimorfismo
➢ Sobrecarga
![Page 67: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/67.jpg)
Polimorfismo
➢ Coerção○ Conversão Implícita
![Page 68: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/68.jpg)
Polimorfismo
➢ Coerção○ Conversão Implícita
Erro na compilação!!
![Page 69: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/69.jpg)
Polimorfismo
➢ Coerção○ Conversão Implícita
Coerção de estreitamento só é feita pela conversão explícita!
![Page 70: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/70.jpg)
Polimorfismo
➢ Coerção○ Conversão Implícita
Coerção de ampliação é aceita em C#!!
![Page 71: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/71.jpg)
Polimorfismo
➢ Paramétrica
![Page 72: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/72.jpg)
Polimorfismo
➢ Inclusão■ Herança
● C# não suporta herança múltipla.
![Page 73: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/73.jpg)
Herança
![Page 74: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/74.jpg)
Interface
![Page 75: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/75.jpg)
Exceções
➢ O tratamento de exceções em C# é semelhante ao de C++.
![Page 76: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/76.jpg)
Exceções
➢ O tratamento de exceções em C# é semelhante ao de C++.
![Page 77: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/77.jpg)
Exceções
➢ Se uma exceção for lançada e não for tratada o programa é interrompido na execução. Isto quer dizer que, o compilador não faz o trabalho de checar se todas as possíveis exceções lançadas serão tratadas ou não.
![Page 78: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/78.jpg)
Exceções
![Page 79: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/79.jpg)
Concorrência
➢ Threads:○ Para manipulações de Threads, C# possui o
namespace System.Threading.○ Nela há uma série de métodos, como: Sleep,
Suspend, Name, etc.○ Semáforos podem ser usados pelo namespace
System.Threading.Semaphore.
![Page 80: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/80.jpg)
Concorrência
![Page 81: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/81.jpg)
Concorrência
➢ Saida...
![Page 82: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/82.jpg)
Avaliação da Linguagem
![Page 83: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/83.jpg)
Avaliação da Linguagem
![Page 84: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/84.jpg)
Avaliação da Linguagem
![Page 85: C# - inf.ufes.brvitorsouza/wp-content/uploads/teaching-lp... · O que fazer para começar a aprender C#? Para outras plataformas, como Linux e Mac, temos a plataforma Mono e IDE MonoDevelop](https://reader031.vdocuments.site/reader031/viewer/2022022704/5bd49e1c09d3f214338c7196/html5/thumbnails/85.jpg)
Referências
➢ https://msdn.microsoft.com/➢ https://linhadecodigo.com.br/➢ https://www.caelum.com.br