Métodos
O que é um Método?
Até agora, aprendemos como armazenar dados em variáveis, imprimir dados e frases, e tomar decisões com if
-statements, for
-loops e while
-loops.
No último exercício, sabemos que o seguinte bloco de código calcula a soma de 1 a 100:
int total = 0; int num = 1; while(num <= 100){ total = total + num; num = num + 1; } Console.WriteLine("Sum: " + total);
Mas e se quisermos calcular a soma de 1 a 77? Como podemos fazer isso sem escrever todo o bloco de código de novo?
Queremos criar uma ✨ caixa mágica ✨ no código que faz o cálculo para nós, independentemente de quais números queremos somar!
Em C#, um método é como essa caixa mágica que executa uma tarefa específica rodando um bloco de código que pode usar entradas do usuário.
Existem 2 partes em um método: assinatura e corpo:
Assinatura do Método
Para definir um método, precisamos primeiro escrever a sua assinatura. Uma assinatura possui quatro partes principais:
access_specifier return_type method_name(list_of_parameters)
Nome da Parte | Descrição | Exemplos ou opções possíveis |
---|---|---|
access specifier | define o nível de acesso do método | public diz que qualquer um pode usar o método. private indica que ele só pode ser chamado dentro de uma classe. (Aprenderemos sobre classes na próxima página!) protected indica que pode ser chamado por objetos da mesma classe. |
return type | tipo de dado retornado para quem chamou o método (tecnicamente não faz parte da assinatura em C#) | string ou int , use void se o método não retornar nada. |
method name | nome do método, usado para chamá-lo | um nome descritivo que você escolhe. |
list of parameters | lista de entradas fornecidas quando o método é usado | pode ter zero ou mais parâmetros no formato (tipo nome , tipo nome , …). Use () para nenhum parâmetro. |
// exemplo que recebe uma string como parâmetro e retorna outra string public string artist (string songName)
Nota: Os nomes das variáveis dos parâmetros não precisam ser os mesmos dos dados que serão passados para o método.
Corpo do Método
Em seguida, colocamos o bloco de código associado ao método dentro do corpo do método, entre {
e }
após a assinatura.
Para retornar algum dado, usamos a palavra return
seguida de uma variável ou valor a ser retornado.
Nota: Depois que return
é executado, nada mais no método será rodado.
Este é um exemplo de definição de um método que calcula a soma dos números de numA
até numB
:
/* Nome do Método: sumNum * Parâmetros: 2 números do tipo int * Funcionalidade: retorna a soma de numA até numB */ public int sumNum(int numA, int numB){ int total = 0; int num = numA; while(num <= numB){ total = total + num; num = num + 1; } return total; }
Chamando um Método
Por fim, para executar um método no código, fazemos uma chamada de método. Escrevemos o nome do método com as entradas apropriadas.
Por exemplo:
sumNum(1, 3); // chama o método sumNum() com retorno 6
Sabendo que sumNum(1, 3)
retorna um int
com a soma de 1 a 3, podemos armazenar e imprimir o valor:
int sum = 0; sum = sumNum(1, 3); Console.WrlineLine(sum); // imprime 6
Uma das razões para métodos serem poderosos é que podemos chamá-los várias vezes:int sum = 0; sum = sumNum(1, 3); Console.WrlineLine(sum); // imprime 6 sum = sumNum(1, 4); Console.WrlineLine(sum); // imprime 10
Também poderíamos apenas imprimir o resultado diretamente sem armazenar:Console.WriteLine(sumNum(1,3)); // imprime 6 Console.WriteLine(sumNum(1,4)); // imprime 10
Conte a Pirâmide! 🔺
Aqui está a imagem de uma pirâmide de números quadrados onde cada nível é o quadrado perfeito do número do nível, contando de cima para baixo.

O topo tem 1 * 1
conta, o 2º nível tem 2 * 2
contas, e assim por diante.
Vamos escrever um método que receba o número total de níveis e retorne o número total de contas na pirâmide!
Depois de resolver o desafio, você verá a seguinte mensagem:
Congratulations! Challenge Solved!