Parâmetros e retorno de métodos
Parâmetros e retorno são conceitos fundamentais para métodos em C#. Eles definem como informações são recebidas e devolvidas por uma função.
Parâmetros de Métodos
Parâmetros são valores recebidos pelo método para que ele possa executar a sua tarefa. Em C#, existem diferentes formas de passar parâmetros:
- Por valor (default): O método recebe uma cópia do valor. Alterações não afetam o valor original.
- Por referência (
ref
): O método pode alterar o valor original da variável. - Saída (
out
): O método deve atribuir um valor ao parâmetro antes de retornar. - Somente leitura (
in
): O método recebe uma referência de leitura, não podendo alterar o valor. - Opcionais: Parâmetros com valor padrão, não precisam ser informados na chamada.
- Nomeados: Permitem passar argumentos fora da ordem, especificando o nome do parâmetro.
Exemplos
Por valor (padrão):
void Incrementar(int x) {
x++;
}
Chamada:
int valor = 10;
Incrementar(valor); // valor permanece 10
Por referência (ref
):
void Incrementar(ref int x) {
x++;
}
Chamada:
int valor = 10;
Incrementar(ref valor); // valor agora é 11
Parâmetro de saída (out
):
void ObterValores(out int a, out int b) {
a = 1;
b = 2;
}
Chamada:
int x, y;
ObterValores(out x, out y); // x = 1, y = 2
Parâmetro opcional:
void Saudacao(string nome = "Visitante") {
Console.WriteLine("Olá, " + nome);
}
Chamada:
Saudacao(); // Olá, Visitante
Saudacao("Maria"); // Olá, Maria
Parâmetro nomeado:
void ExibirDados(string nome, int idade) {
Console.WriteLine($"{nome}, {idade}");
}
Chamada:
ExibirDados(idade: 30, nome: "Ana"); // Ana, 30
Retorno de Métodos
O retorno é o valor que o método devolve para quem o chamou. O tipo de retorno é definido na declaração do método.
Exemplo:
int Somar(int a, int b) {
return a + b;
}
Chamada:
int resultado = Somar(3, 4); // resultado = 7
- Se o método não retorna valor, deve usar
void
como tipo de retorno.
Resumo
- Parâmetros podem ser passados por valor, referência, saída, somente leitura, opcionais ou nomeados.
- O retorno do método é definido pelo tipo antes do nome do método.
- Parâmetros opcionais devem ser declarados após os obrigatórios.
- Parâmetros nomeados aumentam a clareza e flexibilidade da chamada.