title: Initialize class fields in constructor or at declaration?
body: <p>I've been programming in C# and Java recently and I am curious where the best place is to initialize my class fields.</p>
  
  <p>Should I do it at declaration?:</p>
  
  <pre><code>public class Dice
  {
      private int topFace = 1;
      private Random myRand = new Random();
  
      public void Roll()
      {
         // ......
      }
  }
  </code></pre>
  
  <p>or in a constructor?:</p>
  
  <pre><code>public class Dice
  {
      private int topFace;
      private Random myRand;
  
      public Dice()
      {
          topFace = 1;
          myRand = new Random();
      }
  
      public void Roll()
      {
          // .....
      }
  }
  </code></pre>
  
  <p>I'm really curious what some of you veterans think is the best practice. I want to be consistent and stick to one approach.</p>