C # é uma linguagem de programação moderna desenvolvida pela Microsoft. É usado para o desenvolvimento de várias aplicações para desktop, web e dispositivos móveis. Funções ou métodos é um conceito em programação. Esse grupo de instruções usado para executar uma tarefa específica é conhecido como função ou método. Nos 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 chamando o método. O novo método é conhecido como chamado método. Para gerenciar os valores passados e recuperar o resultado, o C # usa parâmetros. São parâmetros avaliados, 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 retornar o resultado do método. Em C #, a palavra-chave out é usada para parâmetros de saída e a palavra-chave ref é usada para referenciar parâmetros. o diferença chave entre fora e ref em C # é que, out é uma palavra-chave usada para referenciar um parâmetro de saída usado para passar resultados do método chamado para o método de chamada, enquanto ref é uma palavra-chave para referir um parâmetro de referência usado para transmitir dados do método de chamada para o método chamado e para receber os dados do método chamado ao método de chamada.
1. Visão geral e principais diferenças
2. O que há em c #
3. O que é ref em C #
4. Semelhanças entre out e ref em C #
5. Comparação lado a lado - saída vs ref em C # na forma de tabela
6. Resumo
A sintaxe da 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 a serem executadas
Cada método possui um método exclusivo para fazer a chamada de função. As instruções executáveis estão dentro de chaves. O tipo de retorno explica se a função retorna um valor ou não. Quando não há tipo de retorno, é chamado de 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 avaliados, parâmetros de saída ou parâmetros de referência.
Os parâmetros de saída são usados para transmitir 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.
names1 application1
cálculo de classe pública
exibição de vazio público (saída int a, saída int b)
valor int = 5;
a = valor;
b = valor;
a = a * a;
b = b * b;
public static void main (String [] args)
int valor1 = 10, valor2 = 20;
Cálculo cal = novo cálculo ();
cal.display (valor fora1, valor fora2);
Console.ReadLine ();
A função de exibição é chamada do método principal. O valor1 e o valor dois têm 10 e 20, mas não são considerados 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, não fornecerá 10 e 20. Em vez disso, imprimirá 25 e 25. Usando a palavra-chave out, vários valores podem ser retornados do método.
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 são alterados. 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.
names1 application1
cálculo de classe pública
troca de void público (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, um objeto do tipo Cálculo é criado. Existem dois valores como p e q. A variável p tem o valor 2 e a variável q tem o valor 3. Esses dois valores são passados para o método de troca. No método de troca, o valor 2 é copiado na variável xe o valor 3 é copiado na variável y. Usando a variável temp, os valores são trocados. De volta ao programa principal, ao imprimir peq, 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 como 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á nova localização de memória criada. As mudanças no método refletidas no no programa principal. Em C #, os parâmetros de referência são referidos usando a palavra-chave ref. Consulte o programa abaixo.
names1 application1
cálculo de classe pública
troca de void público (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, um objeto do tipo Cálculo é criado. Existem duas variáveis como p e 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 p e q é passada para o método. Essas variáveis de referência são referidas 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.
out vs ref em c # | |
A saída é uma palavra-chave em C # usada para referenciar um parâmetro de saída. É usado para passar os resultados de um método chamado para chamar o método. | A ref é uma palavra-chave em C # usada para referenciar um parâmetro de referência. É usado para passar dados do método de chamada para o método chamado e retornar dados do método chamado para o método de chamada. |
Funcionalidade | |
Ao usar a palavra-chave out, os dados podem ser transmitidos 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 transmitidos do método de chamada para o método chamado e os dados manipulados são transmitidos de volta para o método de chamada. |
Passagem de dados | |
Ao usar a palavra-chave out, os dados são transmitidos de uma maneira que é um método chamado para o método de chamada. | Ao usar a palavra-chave ref, os dados são transmitidos de duas maneiras: do método de chamada para o método chamado e do método chamado para o método de chamada. |
Ao invocar um método, pode ser necessário passar os valores para o método e recuperar 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 retornar o resultado do método. Em C #, a palavra-chave out é usada para parâmetros de saída e a palavra-chave ref é usada para referenciar 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 usado para passar resultados do método chamado para o método de chamada, enquanto ref é uma palavra-chave para referir um parâmetro de referência usado para transmitir dados de método de chamada para o método chamado e para receber os dados do método chamado para o método de chamada.
Você pode fazer o download da versão em PDF deste artigo e usá-la para fins offline, conforme nota de citação. Faça o download da versão em PDF aqui: Diferença entre Saída e Referência em C #
1.tutorialspoint.com. "Métodos C #". O ponto. Disponivel aqui
2.dnfvideo. Parâmetros de saída C # versus parâmetros REF, vídeos de preparação para entrevistas do .NET, 28 de setembro de 2015. Disponível aqui
1.'C sharp'By Mothmolevna - Obra própria, (Domínio Público) via Commons Wikimedia