2012-08-01 3 views
5

Così ho questo codice qui:C# Chiamata di una funzione con più valori

int n; 
public static void Main(string[] args) 
    { 
     Console.Write("Please insert a number : "); 
     n = int.Parse(Console.ReadLine()); 
     Console.Write("Please insert wait time (0,1 or 2) : "); 
     int time = int.Parse(Console.ReadLine())*1000;    
     Calculate(n,time);      
    } 

Qual è il metodo migliore per me di chiamare il Calcola (n, tempo) Funzione per n valori multipli (dato uno dopo l' altro), ma allo stesso tempo. Ho già pensato di utilizzare una matrice per memorizzare più valori n, ma c'è un'opzione migliore.

Inoltre vorrei passare più n come argomenti dalla riga di comando.

Qualche idea? Grazie in anticipo!

+0

Se avete bisogno solo alcuni valori di n allora tupla può essere migliore di array. –

risposta

7

Basta usare l'attributo params.

public void Calculate(time, params int[] parameters){ ... } 

Questo permetterebbe di chiamare:

Calculate(time, 1, 2, 3, 4, 5, 6, ....) 

In funzione è possibile scorrere:

foreach(int item in parameters){} 
0

Un array dovrebbe funzionare perfettamente.

public void Calculate(int[] numbers, int time) 
{ ... } 

Anche con LINQ è possibile eseguire una selezione distinta dell'array:

Calculate(n.Distinct().ToArray(), time); 
1
// 
private void Calculate(int int_value, param int[] int_array_value) 
{ 
` enter code here`// your code goes here 
}