Diferença Entre Out E Ref Em C

Índice:

Diferença Entre Out E Ref Em C
Diferença Entre Out E Ref Em C

Vídeo: Diferença Entre Out E Ref Em C

Vídeo: Diferença Entre Out E Ref Em C
Vídeo: C# Out parameters Vs REF parameters 2024, Pode
Anonim

Diferença chave - out vs ref em C #

C # é uma linguagem de programação moderna desenvolvida pela Microsoft. É usado para desenvolver vários aplicativos para desktop, web e celular. Funções ou métodos é um conceito em programação. Esse grupo de instruções usadas para realizar uma tarefa específica é conhecido como função ou método. Em programas C #, a execução começa em main (). É um exemplo de método. Ao chamar um método, os dados são passados para o método ou recebidos do método. O método que está chamando o novo método é conhecido como chamada de método. O novo método é conhecido como método chamado. Para gerenciar os valores de passagem e obter o resultado, C # usa parâmetros. Eles são parâmetros valiosos, parâmetros de saída e parâmetros de referência. Os parâmetros de valor são usados para passar parâmetros para o método por valor. Os parâmetros de referência são usados para passar parâmetros para o método por referência. Os parâmetros de saída são usados para passar o resultado de volta do método. Em C #, a palavra-chave out é usada para parâmetros de saída e a palavra-chave ref é usada para fazer referência a parâmetros. A principal diferença entre out e ref em C # é que out é uma palavra-chave usada para se referir a um parâmetro de saída que é usado para passar resultados do método chamado para o método de chamada, enquanto ref é uma palavra-chave para se referir a um parâmetro de referência que é usado para passar dados do método de chamada para o método chamado e para receber os dados do método chamado para o método de chamada.out é uma palavra-chave usada para se referir a um parâmetro de saída que é usado para passar os resultados do método chamado para o método de chamada, enquanto ref é uma palavra-chave para se referir a um parâmetro de referência que é usado para passar dados do método de chamada para o método chamado e para receber os dados do método chamado para o método de chamada.out é uma palavra-chave usada para se referir a um parâmetro de saída que é usado para passar os resultados do método chamado para o método de chamada, enquanto ref é uma palavra-chave para se referir a um parâmetro de referência que é usado para passar dados do método de chamada para o método chamado e para receber os dados do método chamado para o método de chamada.

CONTEÚDO

1. Visão geral e diferença principal

2. O que está fora em C #

3. O que é ref em C #

4. Semelhanças entre fora e ref em C #

5. Comparação lado a lado - fora vs ref em C # na forma tabular

6. Resumo

O que existe em C #?

A sintaxe para função ou método é a seguinte. Um método possui vários elementos, como nome do método, lista de parâmetros, tipo de retorno e especificador de acesso.

(lista de parâmetros)

{// instruções para executar

}

Cada método possui um método exclusivo para fazer a chamada de função. As instruções executáveis estão entre chaves. O tipo de retorno explica se a função retorna um valor ou não. Quando não há tipo de retorno, é denominado nulo. O especificador de acesso é usado para especificar a acessibilidade do método no aplicativo. Os parâmetros são usados para receber ou passar dados para o método. Também pode haver métodos sem parâmetros. Os parâmetros podem ser parâmetros com valor, parâmetros de saída ou parâmetros de referência.

Diferença entre out e ref em C #
Diferença entre out e ref em C #

Os parâmetros de saída são usados para passar os resultados de volta ao método de chamada. Para isso, o parâmetro deve ser declarado com a palavra-chave out. O parâmetro de saída não cria um novo local de armazenamento. Geralmente, um método retorna um valor. Mas em C #, é possível retornar dois valores de uma função usando parâmetros de saída. Consulte o programa abaixo.

namespace application1 {

public class Calculation {

public void display (out int a, out int b) {

valor int = 5;

a = valor;

b = valor;

a = a * a;

b = b * b;

}

public static void main (String args) {

valor int 1 = 10, valor 2 = 20;

Cálculo cal = novo cálculo ();

cal.display (out value1, out value2);

Console. ReadLine ();

}

}

}

A função de exibição é chamada a partir do método principal. O valor1 e o valor dois têm 10 e 20, mas não são incluídos no método. O valor de a é 25 e o valor de b também é 25 na função. Portanto, esses valores são retornados. Ao imprimir valor1 e valor2, ele não dará 10 e 20. Em vez disso, imprimirá 25 e 25. Usando a palavra-chave out, vários valores podem ser retornados do método.

O que é ref em C #?

Ao passar parâmetros por valor, um novo local de armazenamento é criado para cada parâmetro. Os parâmetros reais que foram enviados do programa principal não mudam. Em vez disso, esses valores são copiados para um local separado. Essas novas cópias de variáveis são chamadas de parâmetros formais. Consulte o código abaixo.

namespace application1 {

public class Calculation {

public void swap (int x, int y) {

int temp;

temp = x;

x = y;

y = temp;

}

public static void main (String args) {

Cálculo cal = novo cálculo ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

De acordo com o programa acima, a classe Calculation possui um método swap (). No programa principal, é criado um objeto do tipo Cálculo. Existem dois valores, como pe q. A variável p tem valor 2 e a variável q tem valor 3. Esses dois valores são passados para o método de troca. No método de troca, o valor 2 é copiado para a variável xe o valor 3 é copiado para a variável y. Usando a variável temp, os valores são trocados. De volta ao programa principal, ao imprimir p e q, os valores não são trocados. O valor p ainda é 2 e o valor q é 3. Mesmo no método de troca, os valores são trocados, mas não refletem no programa principal.

Ao contrário da passagem de valores acima, é possível passar parâmetros por referência. Uma variável de referência é uma referência ao local da memória. Não há nenhum novo local de memória criado. As mudanças no método refletidas no programa principal. Em C #, os parâmetros de referência são referenciados usando a palavra-chave ref. Consulte o programa abaixo.

namespace application1 {

public class Calculation {

public void swap (ref int x, ref int y) {

int temp;

temp = x;

x = y;

y = temp;

}

public static void main (String args) {

Cálculo cal = novo cálculo ();

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console. WriteLine (p);

Console. WriteLine (q);

Console. ReadLine ();

}

}

}

De acordo com o programa acima, a classe Cálculo possui o método de troca. No programa principal, é criado um objeto do tipo Cálculo. Existem duas variáveis, como pe q. A variável p tem o valor 2 e a variável q tem o valor 3. Em vez de passar valores, a referência aos locais de memória de peq são passados para o método. Essas variáveis de referência são referenciadas usando ref. No método de troca, em vez de copiar os valores para um novo local, as alterações são feitas nos parâmetros reais. Ao imprimir os valores peq do programa principal, ele fornecerá os valores trocados. Agora, o valor de p é 3 e o valor de q é 2.

Qual é a semelhança entre out e ref em C #?

Ambos são palavras-chave usadas para referir-se aos parâmetros de um método

Qual é a diferença entre out e ref em C #?

Artigo Diff meio antes da tabela

out vs ref em C #

O out é uma palavra-chave em C # que é usada para se referir a um parâmetro de saída. É usado para passar os resultados de um método chamado para chamar o método. O ref é uma palavra-chave em C # usada para se referir a um parâmetro de referência. É usado para passar dados do método de chamada para o método chamado e para retornar dados do método chamado para o método de chamada.
Funcionalidade
Ao usar a palavra-chave out, os dados podem ser passados do método de chamada para o método chamado. Mas esses dados são descartados. É usado para passar o resultado para o método de chamada do método chamado. Ao usar a palavra-chave ref, os dados são passados do método de chamada para o método chamado e os dados manipulados são passados de volta para o método de chamada.
Passagem de dados
Ao usar a palavra-chave out, os dados são passados de uma maneira que é um método chamado para o método de chamada. Ao usar a palavra-chave ref, os dados são passados de duas maneiras que são, do método de chamada para o método chamado e do método chamado para o método de chamada.

Resumo - out vs ref em C #

Ao invocar um método, pode ser necessário passar os valores para o método e obter os resultados do método. C # tem parâmetros diferentes para conseguir isso. Os parâmetros de valor são usados para passar parâmetros para o método por valor. Os parâmetros de referência são usados para passar parâmetros para o método por referência. Os parâmetros de saída são usados para passar o resultado de volta do método. Em C #, a palavra-chave out é usada para parâmetros de saída e a palavra-chave ref é usada para fazer referência a parâmetros. A diferença entre out e ref em C # é que, out é uma palavra-chave usada para referir um parâmetro de saída que é usado para passar os resultados do método chamado para o método de chamada enquanto ref é uma palavra-chave para referir um parâmetro de referência que é usado para passar dados chamar método para método chamado e receber os dados do método chamado para método de chamada.

Baixe o PDF de out vs ref em C #

Você pode baixar a versão em PDF deste artigo e usá-la para fins off-line de acordo com a nota de citação. Faça download da versão em PDF aqui: Diferença entre saída e referência em C #

Recomendado: