title: Is instantiating a new Rectangle repeatedly slower than changing all its fields?
body: <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>