O método Main
Ponto de entrada do programa
Todo programa em C# precisa conter uma classe com um método chamado Main. Nos exemplos mostrados anteriormente, esse método está definido dentro da classe Program.
Porém, nas versões mais novas do C#, não é obrigatório declarar o Main explicitamente: o código escrito diretamente no topo do arquivo funciona como o corpo do método Main por padrão.
- A execução de um programa C# começa na primeira linha de código dentro do método
Main. - O nome do método
Maindeve ter a letra M maiúscula no início.
A forma mais compacta de escrever o método Main:
static void Main( )
{
Instruções de código
}Code language: JavaScript (javascript)
Não é permitido ter zero ou vários métodos Main, é necessário ter exatamente um.
Para fins de demonstração, vamos criar um projeto .NET Framework usando o Visual Studio 2022, que só funciona no Windows.

Selecione o modelo de aplicativo console abaixo.

Na escolha da versão do framework, selecione a versão mais recente, o .NET 4.8.1.
O conteúdo padrão do arquivo Program.cs após a criação é esse:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloDemo
{
internal class Program
{
static void Main(string[] args)
{
}
}
}
Code language: PHP (php)
As linhas no topo importam vários namespaces, permitindo o uso das classes nativas do .NET disponíveis nesses conjuntos.
Adicione essa linha de código dentro do método Main:
Console.WriteLine(“hello foxdevelop.com”);

Clique no botão triangular verde chamado Start na parte superior do Visual Studio para rodar o programa.

O executável vai rodar por padrão a primeira linha de código dentro do Main.
Se você duplicar o método Main e colar novamente, um erro aparecerá imediatamente.

O erro acontece pois não podem existir duas funções com o mesmo nome dentro de um mesmo namespace. Vamos criar dois namespaces diferentes para testar essa situação.

Agora não há mais linhas onduladas vermelhas e o código parece correto, mas tente compilar o projeto:
Clique em Start

Um erro de compilação será gerado e exibido na janela Error List na parte inferior da tela.

Se a janela Error List não estiver visível, habilite-a através da barra de menus superior.

A janela de lista de erros mostra exatamente onde está o trecho com falha.

Caracteres de espaço em branco (Whitespace)
Caracteres de espaço em branco são símbolos que não geram saída visível na tela. O compilador ignora todos os espaços no código-fonte; desenvolvedores usam esses caracteres para organizar o código e facilitar a leitura.
Os principais tipos de espaço em branco são:
- Espaço simples (Space)
- Tabulação (Tab)
- Quebra de linha (New line)
- Retorno de carro (Carriage return)
Exemplo: esses dois trechos de código têm formatação visual completamente diferente, mas o compilador os interpreta da mesma forma.
// Versão organizada com recuos
Main()
{
Console.WriteLine("Hi, there!");
}
// Versão compacta sem espaços
Main(){Console.WriteLine("Hi, there!");}Code language: JavaScript (javascript)
Abaixo um exemplo de método Main formatado de forma padrão:
static void Main(string[] args)
{
Console.WriteLine("hello foxdevelop.com");
}Code language: JavaScript (javascript)
Se removermos todos os espaços e deixarmos tudo em uma linha só, o programa compila normalmente: para o compilador não existe diferença funcional.
static void Main(string[] args){Console.WriteLine("hello foxdevelop.com");}Code language: JavaScript (javascript)

Instruções (Statements)
A sintaxe das instruções em C# é parecida com C e C++. Essa seção explica as regras gerais das instruções; os tipos específicos serão detalhados depois.
Uma instrução é uma linha de código fonte que define tipos de dados ou ordena o programa a executar uma ação.
Toda instrução simples deve terminar com ponto e vírgula ;. Veja duas instruções sequenciais abaixo: a primeira declara uma variável inteira var1 com valor 5, a segunda imprime esse valor na janela do console.
int var1 = 5;
System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);Code language: JavaScript (javascript)

O exemplo de Main acima contém duas instruções, enquanto os exemplos anteriores usavam apenas uma. A primeira linha cria uma variável inteira chamada var1 e armazena o número 5; a segunda exibe um texto no console. O trecho {0} dentro do texto é um placeholder, que é substituído pelo valor guardado em var1.
Blocos de código (Blocks)
Um bloco de código é formado por um par de chaves que envolve zero ou várias instruções, sendo tratado sintaticamente como uma única instrução.
Coloque as duas instruções do exemplo anterior dentro de chaves para montar um bloco completo:
{
int var1 = 5;
System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);
}Code language: JavaScript (javascript)

Regras centrais dos blocos de código:
- Quando uma regra de sintaxe aceita apenas uma instrução mas você precisa de várias operações, envolva todo o código dentro de um bloco.
- Algumas estruturas de linguagem exigem o uso de blocos de código e não podem ser trocadas por uma única instrução.
- Instruções simples levam ponto e vírgula no final, mas blocos de código não recebem ponto e vírgula após a chave de fechamento. O compilador aceita o símbolo
;depois de}, mas interpreta como uma instrução vazia, sendo uma má prática de escrita.
Ilustração explicativa:
{
int var2 = 5; // Cada instrução individual termina com ponto e vírgula
System.Console.WriteLine("The value of var1 is {0}", var1); // Cada instrução individual termina com ponto e vírgula
} // Sem ponto e vírgula após a chave de fechamentoCode language: JavaScript (javascript)

Todas as instruções independentes normais precisam do símbolo ; no final.

Segue um exemplo completo que você pode copiar e executar:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloDemo
{
internal class Program
{
static void Main(string[] args)
{
{
int var1 = 5;
System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);
}; ; ; ;
}
}
}
Code language: PHP (php)