(Principal) e outros métodos (versus translation from VPE for Csharp Java)

Esta seção discute os métodos e como os parâmetros de método são passados por referência e valor.

O principal () método

Cada aplicativo translation from VPE for Csharp deve conter um único Main método especificando em que a execução do programa deve começar. In C#, Main é colocado em maiúscula, enquanto o Java usa letras em minúsculas main.

Main só podem retornar int ou void, e tem um argumento de matriz de seqüência opcional para representar parâmetros de linha de comando:

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

O parâmetro de matriz de seqüência de caracteres que contém quaisquer argumentos de linha de comando passados funciona sistema autônomo em Java.Assim, args[0] Especifica o primeiro parâmetro de linha de comando, args[1] denota o segundo parâmetro e assim por diante. Ao contrário do C++, a args matriz não contém o nome do arquivo EXE.

Outros métodos

Quando você passar parâmetros para um método, eles podem ser passados por valor ou referência.Parâmetros de valor simplesmente usam o valor de qualquer variável para ser usado no método.Portanto, o valor da variável no código de chamada não é afetado por ações executadas nos parâmetros dentro de um método.

Parâmetros de referência, no entanto, aponte para uma variável declarada no código de chamada, e portanto, métodos irão modificar o Sumário da variável quando passado por referência.

Passagem por referência

Em Java e translation from VPE for Csharp, parâmetros do método que se referem a um objeto são sempre passados por referência, enquanto o tipo de dados primitivos parâmetros (tipos de valor translation from VPE for Csharp) são passados por valor.

Em translation from VPE for Csharp, passar um tipo de valor por referência, você precise especificar uma dentre as palavras-chave ref or check-out.A diferença entre essas duas palavras-chave é a inicialização do parâmetro.A ref o parâmetro deve ser inicializados antes de usar, enquanto um out parâmetro não tem que ser explicitamente inicializados antes de ser passado e qualquer valor anterior será ignorado.

O palavra-chave ref

Especificar essa palavra-chave em um parâmetro de tipo de valor quando você deseja que o método chamado para alterar permanentemente o valor de variáveis usados sistema autônomo parâmetros.Dessa forma, em vez de passar o valor de uma variável usada na telefonar, uma referência à variável é passada.O método funciona, em seguida, na referência, para que sistema autônomo alterações para o parâmetro durante a execução do método são persistentes para a variável original usada sistema autônomo um parâmetro ao método.

O código a seguir ilustra isso no Add método, onde a segunda int parâmetro é passado por referência com o ref palavra-chave:

class TestRef
{
    private static void Add(int i, ref int result)
    {
        result += i;
        return;
    }

    static void Main()
    {
        int total = 20;
        System.Console.WriteLine("Original value of 'total': {0}", total);

        Add(10, ref total);
        System.Console.WriteLine("Value after calling Add(): {0}", total);
    }
}

A saída deste exemplo simples demonstra que as alterações feitas para o parâmetro de resultado são refletidas na variável, total, usado na Add telefonar de método:

Original value of 'total': 20

Value after calling Add(): 30

Isso ocorre porque o parâmetro de resultado referencia o local real da memória ocupado pela variável total no código de chamada.Uma propriedade de uma classe não é uma variável e não pode ser usada diretamente sistema autônomo um ref parâmetro.

The ref palavra-chave parâmetro deve ser precedido quando o método é chamado, assim sistema autônomo na declaração do método.

O check-out de palavra-chave

The check-out palavra-chave tem um efeito muito semelhante à ref palavra-chave e modificações feitas em um parâmetro declarado usando out ficará visível fora do método. As duas diferenças de ref que são qualquer valor inicial de um out parâmetro é ignorado no método e em segundo lugar que um out parâmetro deve ser atribuído durante o método:

class TestOut
{
    private static void Add(int i, int j, out int result)
    {
        // The following line would cause a compile error:
        // System.Console.WriteLine("Initial value inside method: {0}", result);

        result = i + j;
        return;
    }

    static void Main()
    {
        int total = 20;
        System.Console.WriteLine("Original value of 'total': {0}", total);

        Add(33, 77, out total);
        System.Console.WriteLine("Value after calling Add(): {0}", total);
    }
}

Nesse caso, o terceiro parâmetro para o Add método é declarado com o out palavra-chave e chamadas ao método também requerem o out palavra-chave para esse parâmetro. A saída será:

Original value of 'total': 20

Value after calling Add(): 110

Assim, para somar, use o ref palavra-chave quando desejar que um método para modificar uma variável existente e usar o out palavra-chave para retornar um valor produzido dentro do método. Ele é geralmente usado em conjunto com o valor retornado do método quando o método produz um resultado mais de um valor para o código de chamada.

Consulte também

Conceitos

Guia de Programação C#

Main() e argumentos de linha de comando (guia de programação translation from VPE for Csharp)

Referência

Passando parâmetros (guia de programação translation from VPE for Csharp)

Outros recursos

Translation from VPE for Csharp linguagem de programação para desenvolvedores Java