Métodos em C#: Definindo, Chamando e Usando Funções
Um método é um grupo de instruções que realizam uma tarefa. Todo programa C# tem pelo menos uma classe com método Main.
Para usar um método:
- Definir o método
- Chamar o método
Definindo Métodos em C#
Sintaxe:
<Especificador_Acesso> <Tipo_Retorno> <Nome_Metodo>(Lista_Parametros)
{
// Corpo do método
}
Elementos de um método:
- Especificador de Acesso — Visibilidade do método/variável de outras classes.
- Tipo de Retorno — Tipo do valor retornado.
voidse não retorna nada. - Nome do Método — Identificador único, case-sensitive.
- Lista de Parâmetros — Tipo, ordem e número de parâmetros. Opcional.
- Corpo do Método — Instruções para realizar a atividade.
Exemplo: FindMax
class NumberManipulator
{
public int FindMax(int num1, int num2)
{
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
}
Chamando Métodos em C#
Use o nome do método. Exemplo:
using System;
namespace CalculatorApplication
{
class NumberManipulator
{
public int FindMax(int num1, int num2)
{
int result;
if (num1 > num2) result = num1;
else result = num2;
return result;
}
static void Main(string[] args)
{
int a = 100, b = 200, ret;
NumberManipulator n = new NumberManipulator();
ret = n.FindMax(a, b);
Console.WriteLine("Valor máximo: {0}", ret);
Console.ReadLine();
}
}
}
Saída: Valor máximo: 200
Também pode chamar método público de outra classe usando instância:
class Test
{
static void Main(string[] args)
{
int a = 100, b = 200, ret;
NumberManipulator n = new NumberManipulator();
ret = n.FindMax(a, b);
Console.WriteLine("Valor máximo: {0}", ret);
Console.ReadLine();
}
}
Chamada de Método Recursivo
Um método pode chamar a si mesmo — recursão. Exemplo: fatorial:
using System;
namespace CalculatorApplication
{
class NumberManipulator
{
public int Factorial(int num)
{
if (num == 1) return 1;
return Factorial(num - 1) * num;
}
static void Main(string[] args)
{
NumberManipulator n = new NumberManipulator();
Console.WriteLine("Fatorial de 6: {0}", n.Factorial(6));
Console.WriteLine("Fatorial de 7: {0}", n.Factorial(7));
Console.WriteLine("Fatorial de 8: {0}", n.Factorial(8));
Console.ReadLine();
}
}
}
Saída:
Fatorial de 6: 720
Fatorial de 7: 5040
Fatorial de 8: 40320
Passando Parâmetros para Método
Três mecanismos:
| Nº | Mecanismo e Descrição |
|---|---|
| 1 | Parâmetros por valor — Copia valor real para parâmetro formal. Alterações no parâmetro não afetam o argumento. |
| 2 | Parâmetros por referência — Copia referência da localização de memória. Alterações afetam o argumento original. |
| 3 | Parâmetros de saída (out) — Permite retornar mais de um valor. |
Linguagem C
- Dominando Classes e Métodos Abstratos em C#: Guia Prático
- Entendendo Classes e Métodos Parciais em C#
- Dominando Classes e Métodos Sealed em C#: Quando Usar, Exemplos Claros e Segurança de Código
- Dominando Sobrecarga de Métodos em C#: Conceitos, Exemplos e Boas Práticas
- Dominando Funções em C: Estrutura, Declaração e Boas Práticas
- Uso Eficiente de Memória com Bit Fields em C
- Dominando Argumentos Variáveis em C: Guia Prático
- Java 8 Default Methods Explicados: Aprimorando Interfaces e Compatibilidade Reversa
- Integração no MATLAB: De Antiderivadas a Somas de Riemann
- Entendendo Delegates em C#: Guia de Referências de Funções e Eventos