ApostilaC# 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