O C# é uma linugagem de programação moderna, orientada a objetos e com tipagem forte, desenvolvida pela Microsoft e executada sobre a plataofrma .NET. Sua sintaxe é elegante e oferece suporte a paradigmas funcionais, genéricos e assíncronos. Com a evolução do .NET (a partir do .NET Core e versões subsequentes), a linguagem tornou-se totalmente multiplataforma, permitindo a criação de aplicações para web, desktop, dispositivos móveis, jogos e inteligência artificial.
Preparação do Ambiente de Trabalho
Para iniciar o desenvolvimento, é necessário instalar o SDK do .NET e escolher um editor de código ou IDE.
1. Instalação do .NET SDK
Acesse o portal oficial do .NET e baixe a versão mais recente do SDK (como .NET 8 ou superior). Após a instalação, verifique se a configuração foi bem-sucedida executando o seguinte comando no terminal:
dotnet --info
A saída deve exibir detalhes sobre a versão do SDK instalada e os runtimes disponíveis.
2. Escolha da IDE
- Visual Studio 2022 Community: Ideal para quem utiliza Windows e busca uma experiência integrada com depuração avançada e IntelliSense robusto.
- Visual Studio Code: Uma alternativa leve e multiplataforma (Windows, macOS, Linux). Basta instalar a extensão oficial do C# Dev Kit para obter suporte completo à linguagem e ao ecossistema .NET.
Criação do Primeiro Projeto
Vamos gerar uma aplicação de console utilizando a interface de linha de comando (CLI) do .NET:
dotnet new console -n ProjetoInicial
cd ProjetoInicial
dotnet run
O arquivo principal gerado (Program.cs) utiliza o recurso de instruções de nível superior (introduzido no C# 9), eliminando a necessidade de declarar explicitamente a classe Program e o método Main:
// Exibição de mensagem no terminal
Console.WriteLine("Ambiente .NET configurado com sucesso!");
Conceitos Fundamentais da Sintaxe
Tipos de Dados e Variáveis
O C# é fortemente tipado. Veja como declarar diferentes tipos de variáveis nativas:
int nivelDeAcesso = 3;
double taxaDeConversao = 4.95;
char statusSistema = 'A'; // 'A' para Ativo
bool isOnline = false;
string nomeDoServidor = "Node-Alpha";
Estruturas de Controle
Fluxos condicionais e laços de repetição são essenciais para a lógica do programa:
// Estrutura condicional
if (nivelDeAcesso >= 3) {
Console.WriteLine("Acesso administrativo concedido.");
} else {
Console.WriteLine("Acesso restrito.");
}
// Laço 'for' tradicional
for (int contador = 10; contador > 0; contador -= 2) {
Console.WriteLine($"Contagem regressiva: {contador}");
}
// Laço 'foreach' para coleções
string[] modulosAtivos = { "Autenticação", "Banco de Dados", "Cache" };
foreach (var modulo in modulosAtivos) {
Console.WriteLine($"Módulo carregado: {modulo}");
}
Declaração de Métodos
Funções em C# são definidas como métodos e devem especificar o tipo de retorno:
double CalcularAreaRetangulo(double baseRetangulo, double altura) {
return baseRetangulo * altura;
}
// Invocação do método
double areaTotal = CalcularAreaRetangulo(12.5, 8.0);
Console.WriteLine($"A área calculada é: {areaTotal}");
Interação com o Usuário
Para consolidar os conceitos, vejamos um exemplo que captura dados do terminal, realiza conversões de tipo seguras e exibe uma mensagem formatada:
Console.Write("Informe o nome do seu projeto: ");
string projeto = Console.ReadLine() ?? "Sem Nome";
Console.Write("Defina a versão inicial (ex: 1): ");
// Utilizando TryParse para evitar exceções em entradas inválidas
int versao = 1;
int.TryParse(Console.ReadLine(), out versao);
Console.WriteLine($"O projeto '{projeto}' foi inicializado na versão {versao}.0.");