2012-08-01 21 views
5

So habe ich diesen Code hier:C# eine Funktion mit mehreren Werten aufrufen

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);      
    } 

Was ist die beste Methode für mich ist das Berechnen zu nennen (n, Zeit) Funktion für mehr n-Wert (einen nach dem gegebenen andere), aber zur gleichen Zeit. Ich dachte schon daran, ein Array zu verwenden, um mehrere n Werte zu speichern, aber gibt es eine bessere Option.

Auch ich würde gerne mehrere ns als Argumente von der Kommandozeile übergeben.

Irgendwelche Ideen? Vielen Dank im Voraus!

+0

Wenn Sie nur einige Werte von n müssen dann kann Tupel als Array besser sein. –

Antwort

7

Sie verwenden nur Params-Attribut.

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

Dies würde erlauben Sie rufen:

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

In Funktion können Sie iterieren:

foreach(int item in parameters){} 
0

Ein Array sollte perfekt funktionieren.

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

auch mit LINQ können Sie eine bestimmte Auswahl Ihrer Array durchführen:

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