Resumo : neste tutorial, você aprenderá como passar um array para uma função como argumento.
Passando um array para uma função como argumento
Para passar um array para uma função, você especifica o parâmetro array com a seguinte sintaxe:
type [] arrayParameter
Linguagem de código: C# ( cs )
O seguinte ilustra como passar um array para uma função:
void PrintArray(decimal[] elements)
{
foreach (var element in elements)
{
Console.WriteLine($"{element:0.##}");
}
}
decimal[] salaries = { 100000, 120000, 150000 };
PrintArray(salaries);
Linguagem de código: C# ( cs )
Saída:
100000
120000
150000
Linguagem de código: C# ( cs )
Como funciona.
Primeiro, defina uma função chamada PrintArray()
que envie os elementos de um array para o console:
void PrintArray(decimal[] elements)
{
foreach (var element in elements)
{
Console.WriteLine($"{element:0.##}");
}
}
Linguagem de código: C# ( cs )
Nesta PrintArray()
função, usamos a foreach
instrução para iterar sobre os elementos do array e enviar cada um deles para o console.
Segundo, declare um array decimal e inicialize-o com alguns valores:
decimal[] salaries = { 100000, 120000, 150000 };
Linguagem de código: C# ( cs )
Terceiro, passe a matriz de salários para a PrintArray()
função:
PrintArray(salaries);
Linguagem de código: C# ( cs )
Observe que você pode inicializar e passar um novo array para a função em uma etapa como esta:
PrintArray(new decimal[]{ 100000, 120000, 150000 });
Linguagem de código: C# ( cs )
Alterando os elementos do array
Como os arrays são tipos de referência, a função pode alterar os valores de seus elementos. Por exemplo:
void PrintArray(decimal[] elements)
{
foreach (var element in elements)
{
Console.WriteLine($"{element:0.##}");
}
}
void Increase(decimal[] salaries, decimal percentage = 0.05m)
{
for (int i = 0; i < salaries.Length; i++)
{
salaries[i] = salaries[i] * (1 + percentage);
}
}
decimal[] salaries = { 100000, 120000, 150000 };
Console.WriteLine("Before increment:");
PrintArray(salaries);
Increase(salaries);
Console.WriteLine("After increment:");
PrintArray(salaries);
Linguagem de código: C# ( cs )
Saída:
Before increment:
100000
120000
150000
After increment:
105000
126000
157500
Linguagem de código: texto simples ( texto simples )
Como funciona.
Primeiro, defina a Increase()
função que aumenta os elementos do salaries
array em uma porcentagem. Por padrão, a porcentagem é 5% (ou 0,05):
void Increase(decimal[] salaries, decimal percentage = 0.05m)
{
for (int i = 0; i < salaries.Length; i++)
{
salaries[i] = salaries[i] * (1 + percentage);
}
}
Linguagem de código: C# ( cs )
A seguir, declare e inicialize uma série de salários:
decimal[] salaries = { 100000, 120000, 150000 };
Linguagem de código: C# ( cs )
Em seguida, produza os elementos do salaries
array usando a PrintArray()
função:
Console.WriteLine("Before increment:");
PrintArray(salaries);
Linguagem de código: C# ( cs )
Depois disso, passe o salaries
array para a Increase()
função:
Increase(salaries);
Linguagem de código: C# ( cs )
Finalmente, envie os elementos do salaries
array para o console:
Console.WriteLine("After increment:");
PrintArray(salaries);
Linguagem de código: C# ( cs )
Resumo
- Matrizes são tipos de referência, funções podem alterar os valores dos elementos da matriz.