ref e out em C#
Nesta publicação aprende-se a trabalhar com o ref e out para que se possa usar esses mesmos conhecimentos e assim evoluir.
- o ref e o out fazem praticamente a mesma coisa (criam um ligação com o argumento enviado para a determinada função);
- se o conteúdo desse mesmo argumento mudar, ambos mudam (dentro e fora da função);
- a única diferença que existe entre o ref e o out é apenas para o compilador, o ref transmite ao compilador que o argumento fora inicializado antes de entrar na função enquanto que o out transmite que o argumento será inicializado dentro da função.
using System;
namespace Base {
class RefEOut {
public void Run() {
int numero = 0;
Console.WriteLine($"Número antes da função: {numero}");
Out(out numero);
Console.WriteLine($"Número depois da função: {numero}");
}
public void Normal(int numero) {
numero = 1;
}
public void Ref(ref int numero) {
numero = 2;
}
public void Out(out int numero) {
numero = 3;
}
}
}
/*
Número antes da função: 0
Número depois da função: 3
*/
Não te esqueças de assistir ao vídeo e podes sempre ler esta publicação em inglês.