Passing parameters to a method requires the correct parameter list declaration in the Method construct.
If you plan on passing a strictly typed list then for your example:
private void something(int[] a, int[] b, int c)
If you do not know how many parameters you are going to send, or the order then you can use a different approach:
private void something(params object[] data )
To Call either of these methods you can format the call as such:
something(new int[] { 0, 1 }, new int[] { 2, 3 }, 3);
Note that if you have both of these method constructs, the more exact version is what will be used:
IOW the one with the something(int[] a, int[] b, c) is prime because it exactly meets the parameters being called.
If you rearrange the parameters so that the int is in position 0 or one, then it uses the something( params object[] data) version.
To use the "params" version you could do something like this:
private void something(params object[] data )
{
int sum = 0;
int[] somearray;
foreach (object obj in data)
{
if(obj.GetType() == typeof(int[]))
{
somearray = (int[])obj;
foreach (int n in somearray)
sum += n;
}
else if (obj.GetType() == typeof(int))
{
sum += (int)obj;
}
}
MessageBox.Show(sum.ToString());
}
Happy Coding // Jerry