Usando um indeterminado número de parâmetros (versus translation from VPE for Csharp Java)
Translation from VPE for Csharp permite que você envie um número variável de parâmetros para um método, especificando o params palavra-chave quando o método for declarado.O argumento lista pode conter parâmetros regulares também, mas observe que o parâmetro declarado com o params palavra-chave deve vir última. Ele assume a forma de uma matriz de comprimento variável e pode haver apenas um params parâmetro por método.
Quando o compilador tenta resolver uma telefonar de método, ele procura por um método cuja lista de argumentos coincide com o método chamado.Se não há sobrecarga de método que corresponda à lista de argumento pode ser encontrada, mas há uma versão correspondente com um params parâmetro do tipo apropriado e, em seguida, esse método será chamado, colocando os argumentos extras em uma matriz.
O exemplo a seguir demonstra essa idéia:
class TestParams
{
private static void Average(string title, params int[] values)
{
int sum = 0;
System.Console.Write("Average of {0} (", title);
for (int i = 0; i < values.Length; i++)
{
sum += values[i];
System.Console.Write(values[i] + ", ");
}
System.Console.WriteLine("): {0}", (float)sum/values.Length);
}
static void Main()
{
Average ("List One", 5, 10, 15);
Average ("List Two", 5, 10, 15, 20, 25, 30);
}
}
No exemplo anterior, o método Average é declarada com um params parâmetro de tipo de matriz de inteiros, permitindo que você chamá-lo com qualquer número de argumentos. O resultado é mostrado aqui:
Average of List One (5, 10, 15, ): 10
Average of List Two (5, 10, 15, 20, 25, 30, ): 17.5
Você pode especificar um params parâmetro de tipo Object Se você quiser permitir indeterminados parâmetros de tipos diferentes.
Consulte também
Conceitos
Referência
Arrays passar sistema autônomo parâmetros (guia de programação translation from VPE for Csharp)
Outros recursos
Translation from VPE for Csharp linguagem de programação para desenvolvedores Java