Como executar

Como executar C#

Trilha de C# →

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 um using (por exemplo, using System.Text;) ou o nome está diferente.
  • dotnet run main.cs não funciona: a versão instalada é anterior ao .NET 10. Use o caminho com projeto.
  • Instalou só o Runtime: o comando dotnet new não existe. Instale o SDK.