title: What's the difference between SpecialFolder.Desktop and SpecialFolder.DesktopDirectory?
body: <p>I'm confused about the differences between these two special folders.</p>
  
  <p>Here's a code snippet that writes the output of each, but they output the same thing. </p>
  
  <pre><code>string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  string pathTwo = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
  
  Console.WriteLine(path);
  Console.WriteLine(pathTwo);
  
  Console.ReadKey();
  </code></pre>
  
  <p>According to the <a href="http://msdn.microsoft.com/en-us/library/system.environment.specialfolder%28v=vs.71%29.aspx" rel="noreferrer">MSDN</a> documentation (<em>for .NET 1.1</em>):</p>
  
  <p><strong>Desktop</strong><br>
  The logical Desktop rather than the physical file system location.</p>
  
  <p><strong>DesktopDirectory</strong><br>
  The directory used to physically store file objects on the desktop. Do not confuse this directory with the desktop folder itself, which is a virtual folder.</p>
  
  <p>What does it mean when it says <code>the logical Desktop rather than the physical file system location</code>? Also, what is a <code>virtual folder</code> in simple terms?</p>
  
  <p>In the newer .NET 4 version of the <a href="http://msdn.microsoft.com/en-us/library/system.environment.specialfolder%28v=VS.100%29.aspx" rel="noreferrer">documentation</a>, I noticed that they removed the <code>Desktop</code> entirely and only left <code>DesktopDirectory</code>. 
  Why is this?</p>