#774 – Passing an Array as an out Parameter
February 6, 2013 1 Comment
Like other reference types, you can use an array as an output parameter, using the out keyword. The out keyword indicates that you must assign a value to the array before returning from the method. Also, within the method, you cannot reference the array parameter before you assign a new value to it.
static int FindFibsThrough(int numFibs, out int[] fibs) { // Can't reference element of array //int i = fibs[0]; // Can't assign to element of array //fibs[0] = 12; if (numFibs < 2) throw new Exception("Must return at least 2 numbers in sequence"); // Must assign new value to array before we return fibs = new int[numFibs]; fibs[0] = 0; fibs[1] = 1; int sum = 1; for (int i = 2; i < numFibs; i++) { fibs[i] = fibs[i - 1] + fibs[i - 2]; sum += fibs[i]; } return sum; }
You must also use the out keyword when calling the method.
int[] myFibs; int sum = FindFibsThrough(10, out myFibs);