        private void button1_Click(object sender, EventArgs e)
        {
           // create and initialize firstArray
          int[] firstArray = { 1, 2, 3 };
          // copy the reference in variable firstArray
          int[] firstArrayCopy = firstArray;
          label1.Text = "Test passing firstArray reference by value";
          label1.Text += "\nContents of firstArray " +
              "before calling FirstDouble:\n\t";
          // print contents of firstArray
          for (int i = 0; i < firstArray.Length; i++)
              label1.Text += firstArray[i] + "   ";
          // pass variable firstArray by value to FirstDouble
          FirstDouble( firstArray );
          label1.Text += "\n\nContents of firstArray after " +
                        "calling FirstDouble\n\t";
          // print contents of firstArray
          for (int i = 0; i < firstArray.Length; i++)
             label1.Text += firstArray[i] + "   ";
          // test whether reference was changed by FirstDouble
          if (firstArray == firstArrayCopy)
             label1.Text += "\n\nThe references refer to same arrays";
          else
             label1.Text += "\n\nThe references refer to different arrays";
          // create and initialize secondArray
          int[] secondArray = { 1, 2, 3 };
          // copy the reference in variable secondArray
          int[] secondArrayCopy = secondArray;
          label1.Text += "\nTest passing secondArray " +
                        "reference by reference";
          label1 .Text += "\nContents of secondArray " +
                    "before calling SecondDouble:\n\t";
          // print contents of secondArray before method call
          for (int i = 0; i < secondArray.Length; i++)
              label1.Text += secondArray[i] + "   ";
          // pass variable secondArray by reference to SecondDouble
          SecondDouble( ref secondArray );
          label1.Text += "\n\nContents of secondArray " +
                     "after calling SecondDouble:\n\t";
         // print contents of secondArray after method call
         for (int i = 0; i < secondArray.Length; i++)
             label1.Text += secondArray[i] + "   ";
         // test whether reference was changed by SecondDouble
         if (secondArray == secondArrayCopy)
             label1.Text += "\n\nThe references refer to the same array";
         else
             label1.Text += "\n\nThe references refer to different arrays";
      } // end method 
