C# - Tömb típusú paraméterek használata

forráskód letöltése
Ha alkalmazásunkban van egy olyan függvény, melynek paraméterében tömb típusút is használunk, akkor lehetőségünk van arra, hogy a függvény meghívásakor a paramétereket ne egy tömbben adjuk meg, hanem vesszővel elválasztva soroljuk fel azokat tetszőleges darabszámban, mintha a függvénynek annyi paramétere lenne.
Ha ezt a speciális megoldást szeretnénk kihasználni, akkor a függvényünk deklarálásánál meg kell adnunk a params kulcsszót. A tömb paraméter típusa tetszőleges lehet.
    public void ListValues(params int[] values) 
    {
      for (int i=0; i<values.Length; i++)
      {
        listBox1.Items.Add(values[i]);
      }
    }
    public void ListValues(params object[] values) 
    {
      for (int i=0; i<values.Length; i++)
      {
        listBox1.Items.Add(values[i]);
      }
    }
Ezt a függvényünket meghívhatjuk természetesen úgy is, hogy adott egy tömb tetszőleges darabszámú elemmel.
    private void button1_Click(object sender, System.EventArgs e)
    {
      int[] array = new int[3] {100, 200, 300};
      ListValues(array);
    }
De lehetőségünk van arra is, hogy a tömb elemeit egyszerűen vesszővel elválasztva felsoroljuk, mintha több paramétere lenne a függvénynek. Ebben az esetben a felsorolt elemek mindegyike bekerül a tömbbe.
    private void button2_Click(object sender, System.EventArgs e)
    {
      ListValues(1, 2, 3, 4, 5);
    }
Ha a meghívandó függvényünk tömbje object típusú elemeket tárol, akkor a függvény hívásakor a paraméterek akár különböző típusúak is lehetnek.
    private void button3_Click(object sender, System.EventArgs e)
    {
      ListValues("software", "online", 1234, true);
    }