SlideShare uma empresa Scribd logo
1 de 21
Artur Rauen
Luciano Peixoto
Resumo
• - O que é C#
• - Histórico
• - Características gerais
• - Programa usado para desenvolvimento
• - Ligações com .NET e linguagens Java e C
• - Características mais detalhadas
• - Códigos
• - Componentes
• - Projetos escritos em C#
O que é C#
• Linguagem de programação orientada a objetos ideal
para desenvolvimento de aplicaçoes web
• É considerado uma evolução do C++, do qual são
utilizadas algumas características, como declarações,
expressões e operadores.
• Utiliza muitas de regras de programação para reduzir
a possibilidade de erros
• C# também tem como objetivo permitir o
desenvolvimento de qualquer tipo de aplicação: Web
service, aplicação Windows convencional, aplicações
para serem executadas num palmtop ou handheld,
aplicações para Internet etc.
Histórico e curiosidades
• Criada pela Microsoft especificamente para a
plataforma .NET
• Inicada em 1999 por Anders Hejlsberg e equipe, com
nome de Cool.
• .NET é apresentada em 2000, e linguagem Cool é
renomeada para C#.
• O símbolo real seria o e não o #. Porém, devido a♯
limitação de telas, fontes, teclados e alguns
navegadores, no momento da normalização junto a
ECMA, foi feita a opçao pelo #
• Foi criada baseando-se nas linguagens C++ e Java.
• Tem como um dos principais editores, o Visual Studio
Microsoft Visual Studio
• O Microsoft Visual Studio é um pacote de
programas da Microsoft para desenvolvimento,
dedicado ao framework .NET e às linguagens Visual
Basic (VB), C , C++, C# e J#. Trata tambem de
desenvolvimento web na plataforma do ASP.NET
tendo como linguagens mais frequentes VB.NET
(Visual Basic .Net) e o C#.
• Versão atual é o Visual Studio 2010,
lançado em 12 de Abril.
Microsoft Visual Studio
C# e .NET
• C# é considerada a linguagem símbolo do .NET da
Microsoft
• Foi criada praticamente do zero, sem preocupações de
compatibilidade com código legado
• Seu compilador foi o primeiro a ser desenvolvido
• A maior parte das classes do .NET Framework foram
desenvolvidas em C#
• C# não possui em nenhuma implementação, qualquer
conjunto de bibliotecas. Elas são obtidas diretamente do
.NET
Introdução às características
• Simplicidade
• Completamente orientada a objetos
• Fortemente tipada
• Geração de código gerenciado
• Tudo é um objeto
• Controle de versões
• Suporte a código legado
• Flexibilidade
Características
• As operações aritméticas são verificadas
contra transbordamento de dados
• Suporta Garbage Collector, usado para a
manutenção de memória
• Suporta sobrecarga de métodos e de
operadores, mas não suporta argumentos
padrão.
Comparações entre C# com C e C++
• Ponteiros sem checagem só podem ser utilizados em
modo inseguro (unsafe mode).
• Objetos não são liberados explicitamente, só através
do Garbage Collector quando não há referências aos
mesmos, prevenindo assim referências inválidas
• Não é permitida herança múltipla, mas uma classe
pode implementar várias interfaces abstratas
• Algumas sintaxes diferentes, como por exemplo, na
declaração de vetores ("int[] a = new int[5]" ao invés
de "int a[5]").
Comparações entre C# Java
• O Java não implementa o goto como estrutura de
controle
• O Java utiliza comentários Javadoc e o C# utiliza
comentários baseados em XML.
• O C# possui indexadores. O Java tem Listeners.
• O Java utiliza a JVM, o C# o .Net Framework, Mono e
DotGnu.
• O Java pode ser compilado em qualquer plataforma,
o C# possui compiladores para Windows e Windows
Mobile(.NET) e Linux, Mac OS X e Solaris (Mono)
Assistente de conversão Java
• O Java Language Conversion Assistent (JLCA) é
uma ferramenta que, automaticamente,
converte códigos da linguagem Java em
linguagem C# para desenvolvedores que
querem migrar seus aplicativos.
• Atualmente na versão 3.0, foi construído
sobre a tecnologia de migração ArtinSoft e
converte automaticamente a maior parte de
códigos-fonte
Mais detalhes
• Tipos parciais e Generics, trabalham com
declarações de classes, estruturas e
interfaces. Tipos Parciais permitem que eles
sejam divididas em múltiplas partes em
diferentes arquivos fontes, e Generics
permite que sejam parametrizados pelos
tipos de dados que eles armazenam e
manipulam
• Implementaçao de Generic:
StackGenericsT<int> st = new
StackGenerics( );
Mais detalhes
• Programas escritos em C# rodam sob um
ambiente gerenciável: todo o controle de
memória é feito pelo .NET Framework,
reduzindo assim falhas na programação
enquanto a alocação e liberação de um objeto
na memória.
• Classes agrupadas com funções similares
– System.Drawing para gráficos,
– System.Collections para estrutura de dados
– System.Windows.Forms para o sistema
Windows Form.
Implementações
• Instanciação de objeto – exemplo:
– Pessoa pessoa = new Pessoa {nome = “João”};
• Propriedades automáticas
– public string nome {get; private set};
• Métodos extendidos
– Adicionar métodos a classes incluindo a palavra-chave this no
parâmetro do método em outra classe (estática)
public class HelloWorld
{
public static void Main()
{
System.Console.WriteLine(“Hello, world!");
}}
Exemplos de codigos
Palavras Chaves C#
Componentes
• Qualquer objeto escrito em C# é um
Component Object Model (COM)
• COM – É uma plataforma da Microsoft para
componentes de software. Eles são
reutilizaveis e podem ser desenvolvidos na
maiorias das linguagens de programação.
• DLL de negócio –É um COM, e contém uma
classe que pode ser reutilizada em vários
programas, linkado dinamicamente ao
programa.
Projetos Baseados em C#
• http://www.youtube.com/watch?v=nCP5X2odU_M&feature=player_embedded#!
• XNA  Framework da Microsoft para jogos,
no qual são feitos jogos
de XBOX 360
Projetos Baseados em C#
Bibliografia
• A Linguagem C# - Parte 3, Antonio J. V. Tavares
• http://pt.wikipedia.org/wiki/C%E2%99%AF
• http://pt.wikipedia.org/wiki/Microsoft_XNA
• C# e .NET – Guia do Desenvolvedor, Edwin Lima e Eugenio
Reis
• Como Programar ASP.NET e C#, Alfredo Lotar
• Logica de Programaçao II – Aula 6: C#, Interfaces Graficas,
sem autor declarado
• Exemplos Práticos de Programação Visual em C#, Paulo
Cortez e Helder Quintela
• Guia para iniciantes em C# e .NET Micro Framework, GHI
Eletronics
• http://www.arquivodecodigos.net/arquivo/tutoriais/cshar
p/curso_completo/

Mais conteúdo relacionado

Mais procurados

Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NETFabiano Roman Beraldi
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#André Luiz
 
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...Rogério Moraes de Carvalho
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C e Dev-C++  Algumas ExplicaçõesLinguagem C e Dev-C++  Algumas Explicações
Linguagem C e Dev-C++ Algumas Explicaçõesnataferraz
 
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...Rogério Moraes de Carvalho
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5Diego Pacheco
 
Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Elaine Cecília Gatto
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chaveDenis Sobrenome
 
Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2Elaine Cecília Gatto
 
Criando sua própria linguagem de programação
Criando sua própria linguagem de programaçãoCriando sua própria linguagem de programação
Criando sua própria linguagem de programaçãoronaldoferraz
 
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Tutorial dev cpp   001 - criação, leitura e alteração de arquivosTutorial dev cpp   001 - criação, leitura e alteração de arquivos
Tutorial dev cpp 001 - criação, leitura e alteração de arquivosFlávio Freitas
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHPAugusto Pascutti
 

Mais procurados (20)

Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 
Cadastro de clientes em c#
Cadastro de clientes em c#Cadastro de clientes em c#
Cadastro de clientes em c#
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Dynamic Types no C# 4.0
Dynamic Types no C# 4.0Dynamic Types no C# 4.0
Dynamic Types no C# 4.0
 
Linguagem C e Dev-C++ Algumas Explicações
Linguagem C e Dev-C++  Algumas ExplicaçõesLinguagem C e Dev-C++  Algumas Explicações
Linguagem C e Dev-C++ Algumas Explicações
 
C sharp lesson1
C sharp lesson1C sharp lesson1
C sharp lesson1
 
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 
Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3Programação Orientada a Objetos parte 3
Programação Orientada a Objetos parte 3
 
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
Poo1   aula 3 - java - comentários instruções e blocos-palavras chavePoo1   aula 3 - java - comentários instruções e blocos-palavras chave
Poo1 aula 3 - java - comentários instruções e blocos-palavras chave
 
Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2Programação Orientada a Objetos parte 2
Programação Orientada a Objetos parte 2
 
Criando sua própria linguagem de programação
Criando sua própria linguagem de programaçãoCriando sua própria linguagem de programação
Criando sua própria linguagem de programação
 
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Tutorial dev cpp   001 - criação, leitura e alteração de arquivosTutorial dev cpp   001 - criação, leitura e alteração de arquivos
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
 
Aula2
Aula2Aula2
Aula2
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 
Mulheres desenvolvendo C#
Mulheres desenvolvendo C#Mulheres desenvolvendo C#
Mulheres desenvolvendo C#
 
Java1
Java1Java1
Java1
 

Destaque

Aula1 apresentacao-110926181111-phpapp01
Aula1 apresentacao-110926181111-phpapp01Aula1 apresentacao-110926181111-phpapp01
Aula1 apresentacao-110926181111-phpapp01Polyanna Conrado
 
Aula4 introducao-a-algoritmos-110926191723-phpapp02
Aula4 introducao-a-algoritmos-110926191723-phpapp02Aula4 introducao-a-algoritmos-110926191723-phpapp02
Aula4 introducao-a-algoritmos-110926191723-phpapp02Polyanna Conrado
 
Algoritmo e lógica de programação - aula 4
Algoritmo e lógica de programação - aula 4Algoritmo e lógica de programação - aula 4
Algoritmo e lógica de programação - aula 4engenhariadecomputacao
 
Lógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosLógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosWesley R. Bezerra
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Destaque (17)

Aula 2 - Histórico da Computação e OAC
Aula 2 - Histórico da Computação e OACAula 2 - Histórico da Computação e OAC
Aula 2 - Histórico da Computação e OAC
 
Aula1 apresentacao-110926181111-phpapp01
Aula1 apresentacao-110926181111-phpapp01Aula1 apresentacao-110926181111-phpapp01
Aula1 apresentacao-110926181111-phpapp01
 
Aula4 introducao-a-algoritmos-110926191723-phpapp02
Aula4 introducao-a-algoritmos-110926191723-phpapp02Aula4 introducao-a-algoritmos-110926191723-phpapp02
Aula4 introducao-a-algoritmos-110926191723-phpapp02
 
Aula 11 - Começando a programar: Condicionais
Aula 11 - Começando a programar: CondicionaisAula 11 - Começando a programar: Condicionais
Aula 11 - Começando a programar: Condicionais
 
Aula 10 - Estruturas de repeticao
Aula 10 - Estruturas de repeticaoAula 10 - Estruturas de repeticao
Aula 10 - Estruturas de repeticao
 
Aula 5 - Tipos de dados
Aula 5 - Tipos de dadosAula 5 - Tipos de dados
Aula 5 - Tipos de dados
 
Aula 12 - Começando a programar : repetição
Aula 12 - Começando a programar : repetiçãoAula 12 - Começando a programar : repetição
Aula 12 - Começando a programar : repetição
 
Algoritmo e lógica de programação - aula 4
Algoritmo e lógica de programação - aula 4Algoritmo e lógica de programação - aula 4
Algoritmo e lógica de programação - aula 4
 
Lógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosLógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dados
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 
Aula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveisAula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveis
 
Aula 9 - Estruturas Condicionais
Aula 9 - Estruturas CondicionaisAula 9 - Estruturas Condicionais
Aula 9 - Estruturas Condicionais
 
Aula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e LógicasAula 7 - Expressões Aritméticas e Lógicas
Aula 7 - Expressões Aritméticas e Lógicas
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Linguagem C - Entrada e Saída
Linguagem C - Entrada e SaídaLinguagem C - Entrada e Saída
Linguagem C - Entrada e Saída
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Semelhante a Csharp

DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e MoonlightPedro Alves Jr.
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicRicardo Guerra Freitas
 
As vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETAs vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETJoel Rodrigues
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017Renato Groff
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Laís Vidal
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1michellobo
 
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Renato Groff
 
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...Renato Groff
 

Semelhante a Csharp (20)

DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
.NET Open Source
.NET Open Source.NET Open Source
.NET Open Source
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e Moonlight
 
Evolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual BasicEvolução do .NET Framework e do Visual Basic
Evolução do .NET Framework e do Visual Basic
 
ESTRUTURA DE DADOS (JAVA) AULA 01
ESTRUTURA DE DADOS (JAVA) AULA 01ESTRUTURA DE DADOS (JAVA) AULA 01
ESTRUTURA DE DADOS (JAVA) AULA 01
 
Seminário: C#
Seminário: C#Seminário: C#
Seminário: C#
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Seminário: C++
Seminário: C++Seminário: C++
Seminário: C++
 
As vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETAs vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NET
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Hello World usando c#.net
Hello World usando c#.netHello World usando c#.net
Hello World usando c#.net
 
.NET Open Source 2009
.NET Open Source 2009.NET Open Source 2009
.NET Open Source 2009
 
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
ASP.NET Core e Linux: Explorando novas fronteiras - Araras Dev - Julho/2017
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
Fundamentos Java - 01
Fundamentos Java - 01Fundamentos Java - 01
Fundamentos Java - 01
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
 
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
 
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
Docker para Ambientes de Desenvolvimento e Testes - Open Source Roadshow 2019...
 

Csharp

  • 2. Resumo • - O que é C# • - Histórico • - Características gerais • - Programa usado para desenvolvimento • - Ligações com .NET e linguagens Java e C • - Características mais detalhadas • - Códigos • - Componentes • - Projetos escritos em C#
  • 3. O que é C# • Linguagem de programação orientada a objetos ideal para desenvolvimento de aplicaçoes web • É considerado uma evolução do C++, do qual são utilizadas algumas características, como declarações, expressões e operadores. • Utiliza muitas de regras de programação para reduzir a possibilidade de erros • C# também tem como objetivo permitir o desenvolvimento de qualquer tipo de aplicação: Web service, aplicação Windows convencional, aplicações para serem executadas num palmtop ou handheld, aplicações para Internet etc.
  • 4. Histórico e curiosidades • Criada pela Microsoft especificamente para a plataforma .NET • Inicada em 1999 por Anders Hejlsberg e equipe, com nome de Cool. • .NET é apresentada em 2000, e linguagem Cool é renomeada para C#. • O símbolo real seria o e não o #. Porém, devido a♯ limitação de telas, fontes, teclados e alguns navegadores, no momento da normalização junto a ECMA, foi feita a opçao pelo # • Foi criada baseando-se nas linguagens C++ e Java. • Tem como um dos principais editores, o Visual Studio
  • 5. Microsoft Visual Studio • O Microsoft Visual Studio é um pacote de programas da Microsoft para desenvolvimento, dedicado ao framework .NET e às linguagens Visual Basic (VB), C , C++, C# e J#. Trata tambem de desenvolvimento web na plataforma do ASP.NET tendo como linguagens mais frequentes VB.NET (Visual Basic .Net) e o C#. • Versão atual é o Visual Studio 2010, lançado em 12 de Abril.
  • 7. C# e .NET • C# é considerada a linguagem símbolo do .NET da Microsoft • Foi criada praticamente do zero, sem preocupações de compatibilidade com código legado • Seu compilador foi o primeiro a ser desenvolvido • A maior parte das classes do .NET Framework foram desenvolvidas em C# • C# não possui em nenhuma implementação, qualquer conjunto de bibliotecas. Elas são obtidas diretamente do .NET
  • 8. Introdução às características • Simplicidade • Completamente orientada a objetos • Fortemente tipada • Geração de código gerenciado • Tudo é um objeto • Controle de versões • Suporte a código legado • Flexibilidade
  • 9. Características • As operações aritméticas são verificadas contra transbordamento de dados • Suporta Garbage Collector, usado para a manutenção de memória • Suporta sobrecarga de métodos e de operadores, mas não suporta argumentos padrão.
  • 10. Comparações entre C# com C e C++ • Ponteiros sem checagem só podem ser utilizados em modo inseguro (unsafe mode). • Objetos não são liberados explicitamente, só através do Garbage Collector quando não há referências aos mesmos, prevenindo assim referências inválidas • Não é permitida herança múltipla, mas uma classe pode implementar várias interfaces abstratas • Algumas sintaxes diferentes, como por exemplo, na declaração de vetores ("int[] a = new int[5]" ao invés de "int a[5]").
  • 11. Comparações entre C# Java • O Java não implementa o goto como estrutura de controle • O Java utiliza comentários Javadoc e o C# utiliza comentários baseados em XML. • O C# possui indexadores. O Java tem Listeners. • O Java utiliza a JVM, o C# o .Net Framework, Mono e DotGnu. • O Java pode ser compilado em qualquer plataforma, o C# possui compiladores para Windows e Windows Mobile(.NET) e Linux, Mac OS X e Solaris (Mono)
  • 12. Assistente de conversão Java • O Java Language Conversion Assistent (JLCA) é uma ferramenta que, automaticamente, converte códigos da linguagem Java em linguagem C# para desenvolvedores que querem migrar seus aplicativos. • Atualmente na versão 3.0, foi construído sobre a tecnologia de migração ArtinSoft e converte automaticamente a maior parte de códigos-fonte
  • 13. Mais detalhes • Tipos parciais e Generics, trabalham com declarações de classes, estruturas e interfaces. Tipos Parciais permitem que eles sejam divididas em múltiplas partes em diferentes arquivos fontes, e Generics permite que sejam parametrizados pelos tipos de dados que eles armazenam e manipulam • Implementaçao de Generic: StackGenericsT<int> st = new StackGenerics( );
  • 14. Mais detalhes • Programas escritos em C# rodam sob um ambiente gerenciável: todo o controle de memória é feito pelo .NET Framework, reduzindo assim falhas na programação enquanto a alocação e liberação de um objeto na memória. • Classes agrupadas com funções similares – System.Drawing para gráficos, – System.Collections para estrutura de dados – System.Windows.Forms para o sistema Windows Form.
  • 15. Implementações • Instanciação de objeto – exemplo: – Pessoa pessoa = new Pessoa {nome = “João”}; • Propriedades automáticas – public string nome {get; private set}; • Métodos extendidos – Adicionar métodos a classes incluindo a palavra-chave this no parâmetro do método em outra classe (estática) public class HelloWorld { public static void Main() { System.Console.WriteLine(“Hello, world!"); }}
  • 18. Componentes • Qualquer objeto escrito em C# é um Component Object Model (COM) • COM – É uma plataforma da Microsoft para componentes de software. Eles são reutilizaveis e podem ser desenvolvidos na maiorias das linguagens de programação. • DLL de negócio –É um COM, e contém uma classe que pode ser reutilizada em vários programas, linkado dinamicamente ao programa.
  • 19. Projetos Baseados em C# • http://www.youtube.com/watch?v=nCP5X2odU_M&feature=player_embedded#! • XNA  Framework da Microsoft para jogos, no qual são feitos jogos de XBOX 360
  • 21. Bibliografia • A Linguagem C# - Parte 3, Antonio J. V. Tavares • http://pt.wikipedia.org/wiki/C%E2%99%AF • http://pt.wikipedia.org/wiki/Microsoft_XNA • C# e .NET – Guia do Desenvolvedor, Edwin Lima e Eugenio Reis • Como Programar ASP.NET e C#, Alfredo Lotar • Logica de Programaçao II – Aula 6: C#, Interfaces Graficas, sem autor declarado • Exemplos Práticos de Programação Visual em C#, Paulo Cortez e Helder Quintela • Guia para iniciantes em C# e .NET Micro Framework, GHI Eletronics • http://www.arquivodecodigos.net/arquivo/tutoriais/cshar p/curso_completo/