Como escrever código com a linguagem C#

Esse artigo irá mostrar os procedimentos para criar uma versão em C# do tradicional programa “HelloWorld”. O programa exibe no terminal a string “Hello World!”.

Para mais exemplo de conceito introdutórios, veja o artigo Getting Started with Visual C# and Visual Basic.

System_CAPS_noteObservação
Seu computador talves tenha nomes ou locais diferentes de alguns elementos da interface do Visual Studio das instruções a seguir. A edição do Visual Studio que você tem ou as suas configurações pessoais determinam esses elementos. Os procedimentos a seguir também podem ser adaptados para uso como o framework Mono no Linux

Criar e executar uma aplicação de linha de comando

  1. Inicie o Visual Studio.

  2. Na barra de menus, escolha File, New, Project.

    A caixa de dialogo New Project é aberta.

  3. Expanda Installed, expanda Templates, expanda Visual C#, e então escolha Console Application.

  4. Na caixa de texto Name, especifique um nome para seu projeto, e em seguida clique no botão OK.

    O novo projeto aparecerá no Solution Explorer.

  5. Se Program.cs não estiver aberto no Code Editor, abra o menu de atalho para Program.cs no Solution Explorer, e selecione View Code.

  6. Substitua o conteúdo desse arquivo pelo seguinte código.

    // A Hello World! program in C#.
    using System;
    namespace HelloWorld
    {
        class Hello
        {
            static void Main()
            {
                Console.WriteLine("Hello World!");
    
                // Keep the console window open in debug mode.
                Console.WriteLine("Press any key to exit.");
                Console.ReadKey();
            }
        }
    }
    
  7. Pressione a tecla F5 para executar seu projeto. Uma janela do Prompt de comando irá aparecer contendo a linha Hello World!

Agora, as partes importantes desse programa serão explicadas.

A primeira linha contém um comentário. Os caracteres // convertem a restante da linha em um comentário.

// A Hello World! program in C#.

Você também pode comentar um bloc de texto encapsulando ele entre os caracteres /* e */ como no seguinte exemplo:

/* A "Hello World!" program in C#.
This program displays the string "Hello World!" on the screen. */

Uma aplicação de linha de comando C# deve possuir um método Main, que controla o início e o fim dela. O método Main é onde você cria os objetos e executa outros métodos.

O método Main é um método static que reside dentro de uma classe ou struct. No exemplo anterior, reside dentro de uma classe Hello. Você pode declarar o método Main de uma das formas seguintes:

  • Pode retornar void.
    static void Main()
    {
        //...
    }
    
  • Pode retornar um inteiro.
    static int Main()
    {
        //...
        return 0;
    }
    
  • Com qualquer um dos retornos possíveis, pode ter argumentos.
    static void Main(string[] args)
    {
        //...
    }
    

    -ou-

    static int Main(string[] args)
    {
        //...
        return 0;
    }
    

O parâmetro do método Main, args é um array de strings que contém os argumentos passados ao programa através da linha de comando. Ao contrário do C++, esse array não inclui o nome do arquivo executável.

Para mais informações sobre como usar argumentos de linha de comando, veja os exemplos: Main() and Command-Line Arguments (C# Programming Guide) e How to: Create and Use Assemblies Using the Command Line (C# and Visual Basic).

A chamada para ReadKey no final do método Main impede que a janela do terminal seja fechada antes de você ter a oportunidade de visualizar a saída do programa, quando você executa seu programa em modo debug, ao pressionar F5.

Programas C# geralmente usam serviços de entrada e saída fornecidos pela biblioteca .NET. A sentença System.Console.WriteLine(“Hello World!”); usa o método WriteLine. Esse é um dos métodos de saída da classe Console da biblioteca. Ela exibe a string passado como parâmetro no stream de saída padrão seguida por uma nova linha. Outros métodos dessa classe estão disponíveis para operações de entrada e saída diferentes. Se você incluir a diretiva using System; no início de seu código, pode usar diretamente as classes e métodos de System sem ter que mencionar todo caminho para eles. Por exemplo, você pode usar Console.WriteLine ao invés de System.Console.WriteLine:

using System;
Console.WriteLine("Hello World!");

Para mais informações sobre métodos de entrada e saída, veja System.IO.

Você pode compilar o programa “Hello World!” usando a linha de comando ao invés do IDE do Visual Studio.

Compilar e executar o código na linha de comando

  1. Cole o código do exemplo anterior em qualquer editor de texto, e salve o arquivo com o nome Hello.cs. Arquivos de código fonte C# usam a extensão.

  2. Execute um dos passos a seguir para abrir uma janela do prompt de comando:

    • No Windows 8, na tela Start, pesquise por Developer Command Prompt, e em seguida selecione Developer Command Prompt for VS2012. Uma janela do prompt de comando irá aparecer.
    • No Windows 7, abra o menu Start, expanda a pasta da versão atual do Visual Studio, abra o menu de atalho para Visual Studio Tools, e em seguida selecione Developer Command Prompt for VS2012. Uma janela do prompt de comando irá aparecer.
    • Ative as ferramentas de compilação da janela padrão do Promp de comando. Para fazer isso, siga as instruções em How to: Set Environment Variables for the Visual Studio Command Line.
  3. Na janela do prompt de comando, navegue até o diretório que contém o arquivo Hello.cs.

  4. Digite o seguinte comando para compilar o código.

    csc Hello.cs

    Se o seu programa não tiver nenhum erro de compilação, um arquivo executável chamado Hello.exe será criado.

  5. Na janela do prompt de comando, digite o seguinte comando para executar o programa:

    Hello

    Estrutura geral de um programa C#

    Programas C# podem podem ser compostos de um ou mais arquivos. Cada arquivo contém um ou mais namspaces. Um namespace pode contém tipos como classes, structs, interfaces, enumerações e delegates, além de outros namespaces. O esqueleto de código a seguir mostra todos esses elementos.

    // 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 YourMainClass
        {
            static void Main(string[] args)
            {
                //Your program starts here...
            }
        }
    }