Compartilhar 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 o ponto de entrada do programa. Somente 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. Nesse caso, é Console.WriteLine("Hello world!");. Você também pode criar um método estático chamado Main como o 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 será iniciado na primeira linha do método Main, que é Console.WriteLine("Hello world!");

Expressões e instruções

Os programas C# são criados 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 são avaliadas 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 objeto)

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

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

A distinção chave: expressões são avaliadas como valores, enquanto as instruções executam ações. Alguns constructos, como chamadas de método, podem ser ambos. Por exemplo, Math.Max(a, b) é uma expressão quando usada em int result = Math.Max(a, b);, mas se torna uma instrução de expressão quando escrita sozinha como Math.Max(a, b);.

Para obter informações detalhadas sobre instruções, consulte Instruções. Para obter informações sobre membros aptos à expressão e outros recursos de expressão, consulte membros aptos para expressão.

Você aprenderá sobre esses elementos de programa na seção "tipos " do guia de conceitos básicos.

Especificação da linguagem C#

Para obter mais informações, veja Noções básicas na Especificação da linguagem C#. A especificação de idioma é a fonte definitiva para a sintaxe e o uso de C#.