        // modify elements of array and attempt to modify reference
        public static void FirstDouble(int[] array)
        {
            // double each element's value                          
            for (int i = 0; i < array.Length; i++)
                array[i] *= 2;
            // create new object and assign its reference to array
            array = new int[] { 11, 12, 13 };
        } // end method FirstDouble                                
        // modify elements of array and change reference array
        // to refer to a new array                            
        public static void SecondDouble(ref int[] array)
        {
            // double each element's value                     
            for (int i = 0; i < array.Length; i++)
                array[i] *= 2;
            // create new object and assign its reference to array
            array = new int[] { 11, 12, 13 };
        } // end method SecondDouble                          
