+2 meses grátis
para
acelerar a sua carreira
Tá acabando!
00
DIAS
00
HORAS
00
MIN
00
SEG
APROVEITE
Carreiras
Ao Vivo
Pós-Graduação
Conteúdos
Para Empresas
Entrar
Ver planos
Carreiras
Ao Vivo
Pós-Graduação
Conteúdos
Para Empresas
Voltar
Trilhas por carreira
Ver Todas
IA
Engenharia de IA
Especialista em IA
Dados
Ciência de Dados
Análise de Dados
Governança de Dados
Cyber
Cloud Security
AppSec: Desenvolvimento Seguro de Aplicações
DevOps & Cloud
Platform Engineering
SRE (Site Reliability Engineering)
UX & UI
UI Design
UX Design
Mobile & Front-End
Desenvolvimento Mobile com Flutter
Desenvolvimento Front-End React
Back-End
Desenvolvimento Back-End PHP
Desenvolvimento Back-End .NET
Desenvolvimento Back-End Python
Desenvolvimento Back-End Java
Desenvolvimento Back-End Node.js
Negócios
Liderança
Recursos Humanos (RH)
Social Media Marketing
Growth Marketing
Voltar
Cursos Imersivos
Aprendizados ao vivo, intensivo e especializado, com turmas reduzidas e atenção personalizada
Certificações
Prepare-se para conquistar certificações valorizadas com aulas ao vivo
Voltar
Cursos por área de atuação
Ver Todos
Data
Data Analytics
Machine Learning Engineering
IA
IA Para Devs
IA Para Negócios - Gestão Estratégica e Liderança
Machine Learning Engineering
Cyber
Defensive Cyber Sec
Offensive Cyber Sec
Tech & Business
Digital Product Management
Growth Marketing
Tech Management
Dev
Arquitetura de Sistemas .Net
Arquitetura e Dev JAVA
Front-end Engineering
Full Stack Development
IA Para Devs
Software Architecture
DevOps e Arquitetura Cloud
Voltar
Praticar
Imersões
Eventos ao vivo e gratuitos que conectam comunidade e novas tecnologias
7 Days of Code
Desafios diários para praticar durante 7 dias
Aprofundar
Artigos
Biblioteca com artigos de todas as escolas e assuntos da Alura
Podcasts
Explore o universo de podcasts da Alura
Tech Guide
Um guia de carreira para se tornar um profissional em T
Vídeos Extras
Vídeos extras para aprofundar seus estudos
Nosso Impacto
Depoimentos de Alunos
Veja como nossos alunos evoluíram na prática e alcançaram novas oportunidades
Cases de Sucesso
Exclusivo para estudantes Alura
Aprenda a partir de casos reais de líderes de grandes empresas de tecnologia
Programação
_
Front-end
_
Data Science
_
Inteligência Artificial
_
DevOps
_
UX & Design
_
Mobile
_
Inovação & Gestão
_
Nome
e-mail
Qual área mais te interessa hoje?
UX e Usabilidade Aplicados em Mobile e Web
Java para Desenvolvimento Web
Java e Orientação a Objetos
Desenvolvimento Web com HTML, CSS e JavaScript
Python e Orientação a Objetos
C# e Orientação a Objetos
Qual o seu objetivo ao baixar a apostila da Caelum?
Reforçar um conhecimento que já tenho
Aprender uma nova tecnologia
Estou decidindo o que vou estudar no futuro
Vou tirar uma dúvida pontual
Me preparar para um novo trabalho
Tenho outro objetivo
baixar apostilas
Apostila
C# e Orientação a Objetos
sumário
1 Como aprender C#
1.1 O que é realmente importante?
1.2 Sobre os exercícios
1.3 Tirando dúvidas e indo além
2 O que é C# e .Net
2.1 Um pouco sobre a história do C# e .Net
2.2 Máquina virtual
2.3 Execução do código na CLR e o JIT
2.4 O ambiente de desenvolvimento do C# #
2.5 Executando aplicações sem o Visual Studio
2.6 O primeiro programa em C# #
2.7 Exercícios
2.8 O que aconteceu durante a execução?
3 Variáveis e tipos primitivos
3.1 Operações com variáveis
3.2 Tipos Primitivos
3.3 Armazenando texto em variáveis
3.4 Documentando o código através de comentários
3.5 Exercícios
4 Estruturas de controle
4.1 Tomando decisões no código
4.2 Mais sobre condições
4.3 Exercícios opcionais
5 Estruturas de repetição
5.1 Repetindo um bloco de código
5.2 Para saber mais do while
5.3 Para saber mais incremento e decremento
5.4 Exercícios
6 Classes e objetos
6.1 Organizando o código com Objetos
6.2 Extraindo comportamentos através de métodos
6.3 Devolvendo valores de dentro do método
6.4 Valor padrão dos atributos da classe
6.5 Mais um exemplo: Transfere
6.6 Convenção de nomes
6.7 Exercícios
6.8 Composição de classes
6.9 Exercícios
7 Encapsulamento e Modificadores de Acesso
7.1 Encapsulamento
7.2 Controlando o acesso com properties
7.3 Simplificando a declaração de propriedades com Auto-Implemented Properties
7.4 Convenção de nome para property
7.5 Exercícios
7.6 Para saber mais: Visibilidade Internal
8 Construtores
8.1 Múltiplos construtores dentro da classe
8.2 Para saber mais — Initializer
8.3 Exercícios
9 Introdução ao Visual Studio com Windows Form
9.1 Introdução prática aos atalhos do Visual Studio
9.2 A classe Convert
9.3 Operações na conta: saque e depósito
9.4 Controlando o nome da ação de um botão
9.5 Renomeando Variáveis, Métodos e Classes com o Visual Studio
9.6 Para saber mais — organizando o formulário com Label e GroupBox
9.7 Resumo dos atalhos do Visual Studio
9.8 Exercícios
9.9 Para saber mais — tipos implícitos e a palavra VAR
9.10 Exercícios Opcionais
10 Herança
10.1 Reaproveitando código com a Herança
10.2 Reaproveitando a implementação da classe base
10.3 Polimorfismo
10.4 Exercícios
10.5 Para saber mais — o que é herdado?
11 Trabalhando com arrays
11.1 Para saber mais — inicialização de Arrays
11.2 Exercícios
11.3 Organizando as contas com o ComboBox
11.4 Exercícios
12 Cadastro de novas contas
12.1 Utilizando o AdicionaConta no load do formulário
12.2 Exercícios
13 Classes abstratas
13.1 Exercícios
14 Interfaces
14.1 Exercícios
15 Métodos e atributos estáticos
15.1 Exercícios Opcionais
15.2 Para saber mais classes estáticas
16 Exceções
16.1 Retorno do método para controlar erros
16.2 Controlando erros com exceções
16.3 Tratando múltiplas exceções
16.4 Exercícios
17 Namespaces
17.1 Para saber mais - Declaração de namespace aninhados
17.2 Para saber mais - Alias para namespaces
17.3 Exercícios
18 Classe Object
18.1 Implementando a comparação de objetos
18.2 Melhorando a implementação do Equals com o is
18.3 Integrando o Object com o ComboBox
18.4 Exercícios
19 Trabalhando com listas
19.1 Facilitando o trabalho com coleções através das listas
19.2 Exercícios
20 Lidando com conjuntos
20.1 Otimizando a busca através de conjuntos
20.2 Conjuntos Ordenados com o SortedSet
20.3 A interface de todos os conjuntos
20.4 Comparação entre listas e conjuntos
20.5 Exercícios
20.6 Buscas rápidas utilizando Dicionários
20.7 Iterando no dicionário
20.8 Exercícios
21 LINQ e Lambda
21.1 Filtros utilizando o LINQ
21.2 Simplificando a declaração do lambda
21.3 Outros métodos do LINQ
21.4 Utilizando o LINQ com outros tipos
21.5 Melhorando as buscas utilizando a sintaxe de queries
21.6 Para saber mais — projeções e objetos anônimos
21.7 Exercícios
21.8 Ordenando coleções com LINQ
21.9 Exercícios - Ordenação
22 System.IO
22.1 Leitura de arquivos
22.2 Escrevendo em arquivos
22.3 Gerenciando os arquivos com o using
22.4 Exercícios
22.5 Para saber mais — onde colocar os arquivos da aplicação
23 Manipulação de strings
23.1 Exercícios
24 Apêndice — estendendo comportamentos através de métodos extras
24.1 Exercícios