Is instantiating a new Rectangle repeatedly slower than changing all its fields?
<p>Currently I have this code:</p>

<pre><code>selectorRect.X = (e.X + hscTileset.Value) / tileLayer.TileSize * tileLayer.TileSize;
selectorRect.Y = (e.Y + vscTileset.Value) / tileLayer.TileSize * tileLayer.TileSize;

selectorRect.Width = 32;
selectorRect.Height = 32;
</code></pre>

<p>I am just changing all of the rectangle's fields. What if I did something like this?</p>

<pre><code>selectorRect = new Rectangle((e.X + hscTileset.Value) / tileLayer.TileSize * tileLayer.TileSize, (e.Y + vscTileset.Value) / tileLayer.TileSize * tileLayer.TileSize, 32, 32)
</code></pre>

<p>I know the second line is a lot longer and less readable and generally not recommended but I'm still curious over the speed differences or its effects on the stack or heap. Since this code is within a control's MouseMove event handler it is called quite often and I'm wondering whether or not instantiating a new object that often will cause considerable speed differences.</p>

<p>Thanks!</p>
