title: Passing a value to a class keeps returning 0
body: <p>this might be a simple/dumb question but I'm trying to figure out why my code keeps returning 0. I don't think my syntax for passing the value is correct but I cant figure out the proper way of doing it.</p>
  
  <pre><code>    class ICESMARK
  {
      static int ICECount = 0;
      public double average = 0;
  
      public double[] ICES = new double[8];
      public ICESMARK(double Mark)
      {
          Mark = ICES[ICECount];
          if (ICECount == (ICES.Length - 1))
          {
  
              for (int x = 0; x &lt; ICES.Length; x++)
              {
                 average += ICES[x];
              }
  
              average /= ICES.Length;
          }
  
          ICECount++;
      }
  }
  
  class Program
  {
      static void Main(string[] args)
      {
          ICESMARK[] ICE = new ICESMARK[8];
          //LABSMARK[] LAB = new LABSMARK[6];
          double userInput;
  
          for (int counter = 0; counter &lt; ICE.Length ; counter++)
          {
              Console.Write("Please enter your mark for ICE{0}: ", counter + 1 );
              bool ifInt = double.TryParse(Console.ReadLine(), out userInput);
              ICE[counter] = new ICESMARK(userInput);
          }
  
          Console.WriteLine(ICE[1].average);
          Console.ReadLine();
      }
  }
  </code></pre>
  
  <p><code>ICE[1].average -</code> <strong>Displays 0</strong></p>
  
  <p>Also if anyone has a more efficient way of doing this, feel free to let me know. Except for the average, is gotta be a calculation, cant use the built in method.</p>