Carregando...

Primeiro programa

Você já instalou o SDK e rodou um primeiro lab. A tela mostrou pine. Esta página fica com a mesma forma de programa e faz outra pergunta: qual linha dentro do arquivo escreveu essa palavra, e quais linhas não escreveram nada. Você não está instalando .NET de novo. A linha de versão da página anterior pode ficar como estava. Mantenha a classe pública chamada Pine, mantenha Main e mantenha Console.WriteLine("pine");. A tela que você está explicando ainda é uma linha, e essa linha é pine.

O arquivo tem mais de uma linha, então um primeiro palpite é que cada linha do arquivo vira uma linha na tela. Esse palpite está errado, e o resto desta página mostra por quê. Várias linhas nomeiam algo. Só uma escreve. As chaves agrupam essas linhas. Elas também não escrevem. Quando você consegue apontar a linha que escreve com o arquivo na frente, esta página está pronta. A página seguinte coloca uma nota que a tela não mostra. Ela não muda pine.

the whole Pine file

csharp
using System;

public class Pine
{
    public static void Main()
    {
        Console.WriteLine("pine");
    }
}

using System prepara nomes curtos

A primeira linha útil é using System;. Leia-a como uma linha de preparação, não como uma frase que a tela vai imprimir. Ela traz nomes do namespace System em forma curta para que Console possa aparecer sem um caminho longo. Você não vê a palavra using na tela. Você não vê System na tela. Apague esta linha num experimento errado e o nome curto Console pode falhar depois — isso é história de compilação para outro dia. Nesta página a linha fica, e a tela fica pine porque esta linha não escreve.

A linha da classe nomeia o tipo

A próxima linha de tipo é public class Pine. Leia-a como três palavras com um trabalho, não como texto de tela. public significa que outro código pode usar este tipo. Você não vê public na tela. class significa que este arquivo está definindo uma unidade nomeada. Você não vê class na tela. Pine é o nome dessa unidade. Nesta forma didática o radical do arquivo combina com esse nome. Mude o nome nesta linha e o hábito do nome do arquivo tem de mudar junto. Essa regra é sobre o tipo e o arquivo. Não é sobre a tela. Olhe a tela de novo. A tela não mostra Pine. Mostra pine. O P maiúsculo e o p minúsculo não são a mesma palavra. A linha da classe nunca escreve o próprio nome na tela.

O caractere depois dessa linha é uma chave de abertura, {. A chave de fechamento correspondente mais adiante no arquivo termina o corpo da classe. Tudo entre essas chaves pertence à classe Pine. As chaves são cercas. Elas dizem ao C# onde esta unidade começa e onde termina. Uma cerca não é texto para a tela. Você não verá { nem } ao lado de pine. Se você apagar a chave de abertura, o arquivo quebra e o compilador escreve um erro em vez de ficar quieto. Esse erro não é esta página. Esta página mantém as duas chaves, e a tela fica pine.

A linha Main é onde o runtime começa

A próxima linha é public static void Main(). É a linha que as pessoas apontam quando perguntam onde o programa começa, e elas acertam sobre o início. Erram se depois dizem que a tela mostra Main. O runtime procura um método com esta forma quando você roda o projeto. Ele começa a executar nesta linha. Começar não é a mesma coisa que escrever. As palavras na linha são instruções sobre como começar. Não são palavras para a tela.

Pegue as palavras uma a uma e confira cada uma com a tela. public de novo significa que o método pode ser iniciado de fora. static significa que o runtime pode iniciar este método sem antes construir um objeto. Você ainda não encontrou objetos, então o único fato de que precisa é que static é obrigatório nesta forma didática e que não é impresso. void significa que este método não devolve um valor a um chamador. Não há história de chamador nesta página, e void não está na tela. Main é o nome que o runtime procura nesta forma. A tela ainda não mostra essas quatro letras. Parênteses marcam a lista de parâmetros. Nesta página a lista está vazia. Parênteses vazios também não imprimem.

Então a linha Main pode ser verdadeira de duas formas ao mesmo tempo. O runtime começou ali. A tela não recebeu uma única palavra dessa linha. Se seus olhos param em Main porque fica no meio do arquivo, mova-os. A palavra de que você se lembra da tela é pine, e pine não está escrita nesta linha.

A linha interna escreve pine

Dentro de Main, entre as próprias chaves, há mais uma linha. Essa linha é Console.WriteLine("pine");. Esta é a linha que escreve a tela. Ela está indentada no arquivo para você ver que fica dentro de Main. A indentação são espaços. Espaços também não são escritos na tela. O runtime executa esta linha interna porque está dentro do método onde o programa começa. A tela usa o que esta linha interna escreve. Não usa o nome do método externo.

Leia a linha interna da esquerda. Console é o ajudante de tela que este curso usa. WriteLine significa escreva isto, depois termine a linha. A parte entre parênteses é o que é escrito. Dentro dos parênteses a palavra pine fica entre aspas duplas. As aspas marcam pine como texto. Elas não fazem parte do texto. Tire-as na cabeça e a palavra que resta é pine, e isso é a tela inteira. Deixe-as no arquivo. Sem as aspas, o compilador não trata pine como esse literal de texto. O ponto e vírgula no fim termina a instrução para C#. Você não vê ponto e vírgula na tela. Você vê pine, e então a linha termina porque WriteLine a terminou.

Aqui está essa linha que escreve sozinha, para que as outras linhas não a escondam.

only this line writes the screen

csharp
Console.WriteLine("pine");

Nada no comando dotnet run escolhe a palavra pine. O comando só inicia o projeto. A palavra vem das aspas. Se as aspas tivessem outra palavra, a tela mostraria essa palavra no lugar, e esta página não faz isso. As aspas nesta página têm pine, então a tela é pine. Uma linha. Sem segunda linha. Sem aspas na tela. Sem a palavra Main. Sem a palavra Pine.

📊 Which line the screen shows

A linha A tela
using System; nada desta linha
public class Pine nada desta linha
public static void Main() nada desta linha
Console.WriteLine("pine") pine

O que as pessoas leem errado

O erro comum é ler o arquivo de cima e assumir que a palavra mais familiar é a saída. Main parece importante, e é, porque o runtime não inicia esta forma sem ele. Importância não é saída. Você pode cobrir a linha Main com um dedo e a linha que escreve ainda é Console.WriteLine("pine");. Você não pode cobrir a linha que escreve e ainda explicar a tela. Outro erro é dizer que a tela mostra Pine porque a classe se chama Pine. A tela usa a palavra entre as aspas, e essa palavra se escreve com p minúsculo. Um terceiro erro é contar linhas. O arquivo mostra várias linhas e várias chaves. A tela mostra uma. Chaves, as palavras public e static e void, o nome Main, o nome Pine e using System; ainda estão no arquivo depois da execução. A execução não os apaga. Também não os imprime.

A tela vem de uma linha

Você pode pôr um dedo em Console.WriteLine("pine"); e dizer que esta é a linha de onde a tela vem. Você pode pôr um dedo em public static void Main() e dizer que o runtime começa ali e que a palavra Main não está na tela. Você pode pôr um dedo em public class Pine e dizer que este nome combina com o tipo didático e não combina com a tela. A página seguinte coloca uma nota no arquivo. A nota é para uma pessoa que lê o arquivo. A tela ainda será pine, porque a nota não é um segundo WriteLine.
Mantenha hábitos restantes de Java com System.out.println("mint") fora desta página quando praticar a linha de escrita em C#. Mantenha inventar rotas ASP.NET fora desta página. Mantenha tratar dotnet --version como a palavra da tela fora desta página — a linha de versão era prova de instalação, não a saída deste programa. Quando você puder nomear a linha que escreve e recusar os palpites falsos de Main e Pine, First Program fez o trabalho e você está pronto para C# Comments se continuar.

🧠 Teste Seu Conhecimento

Pronto para Começar

Teste Seu Conhecimento

Desafie-se com este questionário interativo e veja o quão bem você entende o tópico

❓
6
Perguntas
🎯
70%
Para Passar
♾️
∞
Tempo
🔄
∞
Tentativas

📝 Instruções

  • Leia cada pergunta cuidadosamente
  • Selecione a melhor resposta para cada pergunta
  • Você pode refazer o quiz quantas vezes quiser
  • Seu progresso será mostrado no topo