Best Practice: Initialize class fields in constructor or at declaration?
<p>I've been programming in C# and Java recently and I am curious what people would consider the best practice concerning when you should initialize your classes fields?</p>

<p>Should you do it at declaration?:</p>

<pre><code>public class Die
{

    private int topFace = 1;
    private Random myRand = new Random();

    public void Roll()
    {
       // ....
    }
}
</code></pre>

<p>or in a constructor..</p>

<pre><code>public class Die
{

    private int topFace;
    private Random myRand;

    public Die()
    {
        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>
