Este tutorial de C# ajuda você a aprender programação em C# do zero e mostra como aplicar C# para desenvolver seu próximo ótimo aplicativo.
Começando
- O que é C# – apresenta a linguagem de programação C# e o .NET
- Instalar o Visual Studio 2022 – orienta você sobre como instalar o Visual Studio 2022 Community Edition para começar a programar C#.
- C# Hello World – mostra passo a passo como criar o primeiro programa C# que exibe o Hello, World! mensagem na janela do console.
- Sintaxe C# – apresenta a sintaxe básica do C#, incluindo identificadores, palavras-chave, literais, instruções e comentários.
Variáveis e tipos
- Variáveis – mostra como declarar variáveis e usá-las para armazenar dados no programa.
- inteiro – apresenta os tipos integrais em C# que contêm números inteiros.
- float – explica os tipos de números de ponto flutuante, incluindo decimal, double e float.
- char – cobre o tipo de caractere que representa um único caractere.
- string – discute o tipo de string e orienta você nas operações básicas de string.
- Strings brutas – aprende como usar strings brutas para tornar seu código mais legível.
- bool – aprende como usar o tipo bool para representar valores booleanos: verdadeiro e falso.
- var – mostra como usar a
var
palavra-chave para declarar variáveis de tipo implícito.
Controle de fluxo
- if – aprende como verificar uma condição e executar um bloco se uma condição for verdadeira.
- if else – mostra como verificar múltiplas condições e executar um bloco se uma condição for verdadeira ou outro bloco caso contrário.
- if else if – aprende como verificar múltiplas condições e executar um bloco se uma condição for verdadeira.
- switch – seleciona uma instrução para execução se uma expressão corresponder a um padrão.
- while – aprende como usar a
while
instrução de loop para executar condicionalmente um bloco de código zero ou mais vezes. - do while – mostra como usar a
do while
instrução para executar um bloco uma ou mais vezes com base em uma condição. - for – orienta você sobre como executar um bloco um determinado número de vezes.
- break – mostra como encerrar prematuramente usando a
break
instrução. - continue – aprende como iniciar uma nova iteração de loop prematuramente usando a
continue
instrução.
Funções
- Funções – orienta sobre como modular o programa e tornar o código reutilizável usando funções.
- Parâmetros padrão – aprende como simplificar a chamada de função usando parâmetros padrão.
Matrizes
- Array – mostra como usar um array para armazenar um número fixo de elementos do mesmo tipo.
- Matrizes multidimensionais – aprende como criar matrizes multidimensionais, incluindo matrizes 2D e 3D.
- foreach – orienta você sobre como usar a
foreach
instrução para iterar sobre os elementos de um array. - Passando um array para uma função – mostra como passar um array para uma função como argumento.
- Padrões de lista – mostra como combinar uma matriz ou lista com uma sequência usando padrões de lista.
Aulas
- Classe – aprende sobre classes e objetos, define uma classe e cria objetos a partir da classe.
- this – explica a
this
palavra-chave em C#. - público versus privado – orienta você sobre como usar os modificadores de acesso público e privado e como usá-los de maneira eficaz.
- Construtor – mostra como definir construtores para inicializar objetos.
- Propriedade – aprende como usar uma propriedade que fornece uma maneira flexível de ler, escrever e calcular o valor de um campo privado.
- Constante – apresenta constantes e como defini-las em um método ou classe.
- Indexador – mostra como usar um indexador para permitir que um objeto seja indexado como um array.
- Inicializador de objeto – aprende como inicializar campos e propriedades acessíveis de um objeto usando um inicializador de objeto.
- init – especifica um método acessador em uma propriedade ou indexador que permite atribuir um valor à propriedade ou elemento indexador apenas durante a inicialização do objeto.
Membros e classes estáticos
- Campo e propriedade estáticos – explica os campos e propriedades estáticos e como usá-los de maneira eficaz.
- Método estático – aprende sobre métodos estáticos e como usá-los para definir uma classe de utilitário.
- Construtor estático – mostra como definir um construtor estático que inicializa membros estáticos.
- Classe estática – orienta você sobre como usar uma classe estática para definir uma classe utilitária.
Herança
- Herança – mostra como definir uma classe que herda propriedades e métodos de outra classe.
- Herança e construtor – explica a ordem de chamada do construtor e mostra como usar a sintaxe base() para chamar um construtor específico na classe base.
- novo modificador – explica o
new
modificador e como usá-lo para ocultar explicitamente o membro da classe base da subclasse. - modificador virtual – mostra como usar o
virtual
modificador para modificar um membro de uma classe base e discutir as diferenças entre os métodosnew
eoverride
. - modificador selado – orienta você nas classes seladas e nas propriedades e métodos selados.
- Casting – explica como converter uma referência de um tipo para outro usando casting, incluindo upcasting e downcasting.
- Aulas abstratas – apresenta as aulas abstratas com exemplos práticos.
- Objeto – aprende sobre o objeto que é a classe base de todas as classes.
- Tipos anônimos – mostra como criar um objeto anônimo com um conjunto de propriedades somente leitura sem definir primeiro uma classe.
Interfaces
- Interface – apresenta interfaces e como usá-las para tornar o aplicativo mais flexível e extensível.
- Implementação padrão – mostra como fornecer uma implementação padrão para um membro da interface para tornar o aplicativo compatível com versões anteriores.
- Implementação Explícita de Interface – discute duas maneiras de implementar interfaces e quando implementar interfaces explicitamente.
- Estendendo interfaces – orienta você sobre como definir uma interface que estende uma única interface ou múltiplas interfaces.
- Classes abstratas versus interfaces – aprende como escolher quando usar uma interface ou classe abstrata.
Manipulação de exceção
- try…catch – aprende sobre exceções e como usar a
try...catch
instrução para lidar com exceções. - lançando uma exceção – mostra como usar a
throw
palavra-chave para gerar uma exceção no aplicativo. - try…catch…finally – mostra como usar a
try...catch...finally
instrução para lidar com exceções e limpar recursos. - Relançar exceções – aprende como capturar uma exceção e relançá-la usando a instrução throw.
- Exceções personalizadas – orienta você sobre como criar e usar exceções personalizadas que fornecem mais informações sobre a exceção que ocorre.
- Tratamento de exceção global não tratada – mostra como lidar com a exceção global não tratada inscrevendo-se no
UnhandledException
evento.
Genéricos
- Genéricos – aprende como usar genéricos para escrever código reutilizável e de tipo neutro.
- Classes genéricas – mostra como definir classes reutilizáveis e de tipo neutro.
- Restrições genéricas – especifica quais tipos podem ser usados como parâmetros de tipo dos tipos genéricos.
- Covariância – mostra como usar a covariância para definir um método que pode retornar um tipo mais específico do que o definido na assinatura do método.
- Contravariância – orienta você sobre como usar a contravariância para definir um método que pode aceitar um argumento que é menos específico do que o definido na assinatura do método.
Delegados e Eventos
- Delegados – apresenta os delegados e como usá-los para passar métodos para outros métodos como argumentos.
- Métodos Anônimos – orienta você na criação de métodos anônimos.
- Expressões Lambda – aprende como usar expressões lambda para criar funções anônimas.
- Eventos – aprende sobre eventos C# e como usar o padrão editor/assinante para lidar com eventos.
- Conversão de grupo de métodos para delegado – explica o que é um grupo de métodos e como funciona o processo de conversão de grupo de métodos para delegado.
Métodos de extensão
- Métodos de extensão – aprende como adicionar um método a um tipo existente sem usar herança.
Trabalhando com data e hora
- DateTime – mostra como representar vários valores como uma única variável.
- DateTime.Parse() – converte uma string de data em um objeto DateTime com base em uma configuração de cultura especificada.
- DateTime.ParseExact() – converte uma string de data em um objeto DateTime com base em um formato exato.
- TimeSpan – representa um intervalo de tempo usando o objeto TimeSpan.
- DateTimeOffset – apresenta o DateTimeOffset que inclui um DateTime e um deslocamento que representa a diferença entre a hora local e o UTC.
- DateOnly – aprende como usar o tipo DateOnly para representar os dados somente de data.
- TimeOnly – mostra como usar o tipo TimeOnly para representar a hora do dia de forma eficaz.
Tipos avançados de C#
- Tipos de valor e tipos de referência C# – compreende os tipos de valor e tipos de referência.
- NullReferenceException – trata da exceção NullReferenceException que ocorre em tempo de execução do programa.
- Tipo de valor anulável – discute o tipo de valor anulável e como usá-lo de maneira eficaz.
- Tuplas – mostra como representar vários valores como uma única variável.
- Registros – orienta você sobre registros que fornecem funcionalidade integrada para encapsular dados, facilitando o trabalho com dados imutáveis e de tipo forte.
Anterior