C# passando um array para uma função

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 [] arrayParameterLinguagem 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
150000Linguagem 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 foreachinstruçã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
157500Linguagem de código:  texto simples  ( texto simples )

Como funciona.

Primeiro, defina a Increase()função que aumenta os elementos do salariesarray 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 salariesarray usando a PrintArray()função:

Console.WriteLine("Before increment:");
PrintArray(salaries);Linguagem de código:  C#  ( cs )

Depois disso, passe o salariesarray para a Increase()função:

Increase(salaries);Linguagem de código:  C#  ( cs )

Finalmente, envie os elementos do salariesarray 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *