C# roda na plataforma .NET. O comando dotnet compila e executa o código.
Testar sem instalar nada
No .NET Fiddle, cole o código no editor e clique em Run. A saída aparece embaixo.
Instalar
Linux: instalar pelo script oficial
Instale o .NET SDK 10, que inclui compilador e runtime. O
script oficial de instalação está disponível
neste endereço direto. Em um terminal Bash com curl, execute:
curl --fail --location --max-time 60 https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh
bash dotnet-install.sh --channel 10.0 --install-dir "$HOME/.dotnet"
export DOTNET_ROOT="$HOME/.dotnet"
export PATH="$DOTNET_ROOT:$DOTNET_ROOT/tools:$PATH"
dotnet --version
O script instala o SDK na sua pasta pessoal, sem sudo. Ele não instala as
bibliotecas do sistema: confira os requisitos da sua distribuição na
documentação oficial para Linux.
No Debian/Ubuntu, se faltar curl, instale com sudo apt install curl.
Os comandos export valem só para o terminal atual. Para mantê-los, adicione ao
final de ~/.bashrc estas duas linhas e abra um terminal novo:
export DOTNET_ROOT="$HOME/.dotnet"
export PATH="$DOTNET_ROOT:$DOTNET_ROOT/tools:$PATH"
Windows
Baixe o SDK em .NET 10 — downloads oficiais,
na opção correspondente à arquitetura do Windows. Abra um terminal novo e confira
com dotnet --version. O Runtime sozinho não permite compilar os exemplos.
Executar um arquivo
Exemplo básico: Olá, mundo!
Salve como hello.cs. Este programa mostra uma mensagem no terminal.
Console.WriteLine("Olá, mundo!");
Na pasta do arquivo, execute no Linux ou Windows, com o .NET SDK 10:
dotnet run hello.cs
Saída esperada:
Olá, mundo!
Dividir uma conta com gorjeta
Salve o programa como main.cs. O programa lê a conta, a porcentagem da gorjeta e o número de pessoas.
decimal representa os valores monetários; TryParse trata entradas inválidas.
Use ponto nos decimais. O valor por pessoa é arredondado para exibição; em contas
que não dividem exatamente, ajuste os centavos ao pagar. Requer .NET 10 para
executar um arquivo .cs sem projeto.
using System.Globalization;
Console.WriteLine("Valor da conta (ex.: 120.50):");
if (!decimal.TryParse(Console.ReadLine(), NumberStyles.AllowDecimalPoint,
CultureInfo.InvariantCulture, out decimal bill) || bill <= 0) {
Console.Error.WriteLine("Conta inválida: digite um valor positivo com ponto decimal.");
return 1;
}
Console.WriteLine("Gorjeta em porcentagem (0 a 100):");
if (!decimal.TryParse(Console.ReadLine(), NumberStyles.AllowDecimalPoint,
CultureInfo.InvariantCulture, out decimal tip) || tip < 0 || tip > 100) {
Console.Error.WriteLine("Gorjeta inválida: use um valor de 0 a 100.");
return 1;
}
Console.WriteLine("Número de pessoas:");
if (!int.TryParse(Console.ReadLine(), out int people) || people <= 0) {
Console.Error.WriteLine("Quantidade inválida: use um inteiro positivo.");
return 1;
}
try {
decimal total = bill + bill * tip / 100;
Console.WriteLine($"Total: R$ {total.ToString("F2", CultureInfo.InvariantCulture)}");
Console.WriteLine($"Por pessoa: R$ {(total / people).ToString("F2", CultureInfo.InvariantCulture)}");
} catch (OverflowException) {
Console.Error.WriteLine("Valor grande demais para calcular.");
return 1;
}
return 0;
Na pasta do arquivo, execute:
dotnet run main.cs
Uma interação no terminal será:
Valor da conta (ex.: 120.50):
120
Gorjeta em porcentagem (0 a 100):
10
Número de pessoas:
3
Total: R$ 132.00
Por pessoa: R$ 44.00
As linhas com os valores das respostas são digitadas por você. Pressione Enter após cada resposta. As demais linhas são a saída do programa.
Com um projeto (alternativa)
Em versões anteriores ao .NET 10, crie um projeto de console e substitua todo o
conteúdo de Program.cs pelo código acima:
dotnet new console -o DividirConta
cd DividirConta
dotnet run
Quando o exemplo é só um trecho
Com top-level statements, as linhas podem ficar soltas no arquivo, sem class nem
Main. Classes e record usados pelo trecho vão depois dessas linhas.
Erros comuns
The name 'X' does not exist in the current context: falta umusing(por exemplo,using System.Text;) ou o nome está diferente.dotnet run main.csnão funciona: a versão instalada é anterior ao .NET 10. Use o caminho com projeto.- Instalou só o Runtime: o comando
dotnet newnão existe. Instale o SDK.