Partilhar via


Estrutura geral de um programa C#

Os programas C# consistem em um ou mais arquivos. Cada arquivo contém zero ou mais namespaces. Um namespace contém tipos como classes, structs, interfaces, enumerações e delegados ou outros namespaces. O exemplo a seguir é o esqueleto de um programa C# que contém todos esses elementos.

using System;

Console.WriteLine("Hello world!");

namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }
}

O exemplo anterior usa declarações de nível superior para indicar o ponto de entrada do programa. Apenas um arquivo pode ter instruções de nível superior. O ponto de entrada do programa é a primeira linha de texto do programa nesse arquivo. Neste caso, é o Console.WriteLine("Hello world!");. Você também pode criar um método estático chamado Main como ponto de entrada do programa, conforme mostrado no exemplo a seguir:

// A skeleton of a C# program
using System;
namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello world!");
        }
    }
}

Nesse caso, o programa começará na primeira linha do método Main, que é Console.WriteLine("Hello world!");

Expressões e declarações

Os programas em C# são construídos usando expressões e instruções. As expressões produzem um valor e as instruções executam uma ação:

Uma expressão é uma combinação de valores, variáveis, operadores e chamadas de método que é avaliada como um único valor. As expressões produzem um resultado e podem ser usadas sempre que um valor é esperado. Os exemplos a seguir são expressões:

  • 42 (valor literal)
  • x + y (operação aritmética)
  • Math.Max(a, b) (chamada de método)
  • condition ? trueValue : falseValue (expressão condicional)
  • new Person("John") (criação de objetos)

Uma declaração é uma instrução completa que executa uma ação. As declarações não devolvem valores; em vez disso, eles controlam o fluxo do programa, declaram variáveis ou executam operações. Os exemplos a seguir são declarações:

  • int x = 42; (declaração)
  • Console.WriteLine("Hello"); (declaração de expressão - encapsula uma expressão de chamada de método)
  • if (condition) { /* code */ } (declaração condicional)
  • return result; (declaração de retorno)

A principal distinção: as expressões avaliam os valores, enquanto os enunciados executam ações. Algumas construções, como chamadas de método, podem ter ambos os comportamentos. Por exemplo, Math.Max(a, b) é uma expressão quando usada em int result = Math.Max(a, b);, mas torna-se uma instrução de expressão quando escrita sozinha como Math.Max(a, b);.

Para obter informações detalhadas sobre declarações, consulte Declarações. Para obter informações sobre membros com corpo de expressão e outros recursos de expressão, consulte Membros com corpo de expressão.

Você aprende sobre esses elementos do programa na seção tipos do guia de fundamentos:

Especificação da linguagem C#

Para obter mais informações, consulte Conceitos básicos na Especificação da Linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso do C#.