Métodos em C# Explicados: Declaração, Chamada, Parâmetros, Tipos de Retorno e Mais
Métodos em C# Explicados
Domine os fundamentos dos métodos em C# — como declará-los, invocá-los, lidar com parâmetros, valores de retorno e aproveitar funcionalidades embutidas — com exemplos claros.
Um método é um bloco de código reutilizável que realiza uma tarefa específica. Por exemplo, se você está construindo um programa de desenho que precisa criar e colorir um círculo, você poderia dividir o trabalho em dois métodos distintos: um para desenhar o círculo e outro para colori-lo. Essa abordagem modular melhora legibilidade, testabilidade e reutilização.
Declarando um Método em C#
A sintaxe básica para definir um método em C# é:
tipoRetorno nomeMetodo() { // corpo do método }
Componentes:
- tipoRetorno – Especifica o tipo de dado retornado pelo método. Se nenhum valor é retornado, use
void. - nomeMetodo – Um identificador usado para referenciar o método.
- corpo do método – As instruções que executam quando o método roda, delimitadas por chaves.
Exemplo:
void Exibir() { // código }
Aqui, Exibir() é o nome do método e void indica que ele não retorna valor.
Chamando um Método em C#
Uma vez declarado, você invoca um método pelo seu nome seguido de parênteses. Para o exemplo Exibir():
// chama o método Exibir();

Exemplo Prático: Usando um Método
using System; namespace MethodDemo { class Program { // Declaração do método public void Exibir() { Console.WriteLine("Olá Mundo"); } static void Main(string[] args) { // Cria uma instância de Program Program p1 = new Program(); // Invoca o método Exibir p1.Exibir(); Console.ReadLine(); } } }
Saída
Olá Mundo
Isso demonstra a criação de um objeto p1 da classe Program e a chamada do seu método Exibir().
Tipos de Retorno de Métodos
Métodos podem retornar dados ou ser void. Quando um valor de retorno é necessário, a instrução return envia o valor de volta ao chamador, e o tipo de retorno do método deve corresponder ao tipo do valor.
int SomarNumeros() { int soma = 5 + 14; return soma; }
Exemplo: Retornando um Inteiro
using System; namespace MethodDemo { class Program { // Método estático com tipo de retorno static int SomarNumeros() { int soma = 5 + 14; return soma; } static void Main(string[] args) { int soma = SomarNumeros(); Console.WriteLine(soma); Console.ReadLine(); } } }
Saída
19
Note que métodos static pertencem à própria classe, então nenhuma instância é necessária para chamá-los.
Métodos com Parâmetros
Parâmetros permitem que métodos aceitem valores de entrada. São declarados na assinatura do método e passados durante a invocação.
int SomarNumero(int a, int b) { return a + b; }
Chamando o método com argumentos:
SomarNumero(100, 100);

Exemplo 1: Somando Dois Números
using System; namespace MethodDemo { class Program { int SomarNumero(int a, int b) { return a + b; } static void Main(string[] args) { Program p1 = new Program(); int soma = p1.SomarNumero(100, 100); Console.WriteLine("Soma: " + soma); Console.ReadLine(); } } }
Saída
Soma: 200
Exemplo 2: Método com Parâmetro Único
using System; namespace MethodDemo { class Program { string Trabalhar(string tarefa) { return tarefa; } static void Main(string[] args) { Program p1 = new Program(); string resultado = p1.Trabalhar("Limpeza"); Console.WriteLine("Trabalho: " + resultado); Console.ReadLine(); } } }
Saída
Trabalho: Limpeza
Métodos Embutidos (Built-in)
Além de métodos definidos pelo usuário, C# oferece uma rica biblioteca de métodos embutidos. Por exemplo:
Math.Sqrt()– Calcula a raiz quadrada.string.ToUpper()– Converte uma string para maiúsculas.
Exemplo: Usando Math.Sqrt
using System; namespace MethodDemo { class Program { static void Main(string[] args) { double resultado = Math.Sqrt(9); Console.WriteLine("Raiz quadrada de 9: " + resultado); } } }
Saída
Raiz quadrada de 9: 3
Aqui, Math.Sqrt faz parte da classe System.Math no .NET, documentada pela Microsoft.
Saiba mais sobre métodos embutidos em C#.
Sobrecarga de Métodos (Method Overloading)
C# permite múltiplos métodos com o mesmo nome, desde que suas listas de parâmetros difiram. Isso é chamado de sobrecarga de métodos.
using System; namespace MethodOverloadDemo { class Program { // Sobrecarga com um parâmetro void Exibir(int a) { Console.WriteLine("Argumentos: " + a); } // Sobrecarga com dois parâmetros void Exibir(int a, int b) { Console.WriteLine("Argumentos: " + a + " e " + b); } static void Main(string[] args) { Program p1 = new Program(); p1.Exibir(100); p1.Exibir(100, 200); Console.ReadLine(); } } }
Saída
Argumentos: 100 Argumentos: 100 e 200
A sobrecarga melhora legibilidade e flexibilidade. Para insights mais profundos, veja Sobrecarga de Métodos em C#.
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
- Tipos de Anotação em Java: Guia Completo de Predefinidas, Customizadas e Meta-Anotações
- Entendendo Java String.charAt(): Sintaxe, Tipo de Retorno, Exceções e Exemplo Prático
- Sobrescrita de Métodos em Java: Personalizando Comportamento da Superclasse
- Dominando Referências de Método no Java 8: Guia Completo
- Métodos em C#: Definindo, Chamando e Usando Funções
- Métodos Anônimos em C#: Simplificando o Uso de Delegates