title: Can you use constructors as conditions without calling them
body: <p>I understand that the this title may be a bit ambiguous, but I wasn't sure how else to try and explain what I am trying to do.</p>
  
  <p>I have a huge number of vectors that I am trying to classify into cells.  I use a constructor to classify the vectors in groups of 4.  Should this code work, even though I never use the variable "cell", but do use "Cells"?</p>
  
  <pre><code>public class assignCells
  {
  
      public static List&lt;List&lt;Vector3&gt;&gt; Cells = new List&lt;List&lt;Vector3&gt;&gt;();
  
      public assignCells(Vector3 bottom, Vector3 top, Vector3 right, Vector3 left)
      {
          if (top.x == bottom.x + 20.0 &amp;&amp; right.z == left.z + 50.0)
          {
              Cells.Add(new List&lt;Vector3&gt; { bottom, top, right, left });
          }
      }
  }  
  
  public void gC()
  {
      List&lt;Vector3&gt; old = new List&lt;Vector3&gt;();
  
      List&lt;int&gt; rnL = new List&lt;int&gt;();
  
      for (int i = 0; i &lt; xsize * zsize; i++)
      {
  
          List&lt;Vector3&gt; tC = assignCells.Cells[rn];
          List&lt;int&gt; rCg = new List&lt;int&gt;
          {
              rn + 1,
              rn + 201,
              rn - 1,
              rn - 201
          };
          int rCp = rc.Next(1, 5);
          int oC = rCg[rCp];
          List&lt;Vector3&gt; nC = assignCells.Cells[oC];
  
          if (nC == null)
          {
              if(old.Contains(tC[1]) || old.Contains(tC[2]) || old.Contains(tC[3]) || old.Contains(tC[4])){
                  rnL[i--] = rn;
                  continue;
              }
              else
              {
                  i--;
              }
  
          }
          if(tC[1] == nC[2])
          {
              tC.RemoveAt(1);
              Instantiate(Wall, tC[2], Quaternion.Euler(0, 0, 0));
              Instantiate(Wall, tC[3], Quaternion.Euler(90, 0, 0));
              Instantiate(Wall, tC[4], Quaternion.Euler(90, 0, 0));
              assignCells.Cells.Insert(rn, old);
              assignCells.Cells.RemoveAt(rn);
          }
          if (tC[3] == nC[4])
          {
              tC.RemoveAt(3);
              Instantiate(Wall, tC[1], Quaternion.Euler(0, 0, 0));
              Instantiate(Wall, tC[2], Quaternion.Euler(0, 0, 0));
              Instantiate(Wall, tC[4], Quaternion.Euler(90, 0, 0));
              assignCells.Cells.Insert(rn, old);
              assignCells.Cells.RemoveAt(rn);
          }
          if (tC[2] == nC[1])
          {
              tC.RemoveAt(2);
              Instantiate(Wall, tC[1], Quaternion.Euler(0, 0, 0));
              Instantiate(Wall, tC[3], Quaternion.Euler(90, 0, 0));
              Instantiate(Wall, tC[4], Quaternion.Euler(90, 0, 0));
              assignCells.Cells.Insert(rn, old);
              assignCells.Cells.RemoveAt(rn);
          }
          if (tC[4] == nC[3])
          {
              tC.RemoveAt(4);
              Instantiate(Wall, tC[1], Quaternion.Euler(0, 0, 0));
              Instantiate(Wall, tC[2], Quaternion.Euler(0, 0, 0));
              Instantiate(Wall, tC[3], Quaternion.Euler(90, 0, 0));
              assignCells.Cells.Insert(rn, old);
              assignCells.Cells.RemoveAt(rn);
          }
          rnL.Add(rn);
          rn = oC;
  
      }
  }
  
  
  void CreateW()
  {
      for (int i = 0; i &lt; zsize * xsize; i++)
      {
          int n = i;
          int nn = 50 * n;
          int nn2 = 20 * n;
          mazeNumH.Add(new Vector3(-5000 + nn, 0, -5000 + nn2));
          mazeNumV.Add(new Vector3(-5000 + nn2, 0, -5000 + nn));
      }
      for (int i = 0; i &lt; zsize * xsize; i++)
      {
          assignCells cell = new assignCells(mazeNumH[i], mazeNumH[i + zsize], mazeNumV[i], mazeNumV[i + 1]);
      }
      gC();
  }
  </code></pre>