title: What is the proper name for what [ordered] is in PowerShell 3.0?
body: <p>In PowerShell, you can specify a type with square brackets like so:</p>
  
  <pre><code>PS C:\Users\zippy&gt; [int]
  
  IsPublic IsSerial Name                                     BaseType
  -------- -------- ----                                     --------
  True     True     Int32                                    System.ValueType
  </code></pre>
  
  <p>There are also built in type accelerators like [xml] which saves a few keystrokes when you wish to cast something to an <a href="http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx" rel="noreferrer">XmlDocument</a>. </p>
  
  <pre><code>PS C:\Users\zippy&gt; [xml]
  
  IsPublic IsSerial Name                                     BaseType
  -------- -------- ----                                     --------
  True     False    XmlDocument                              System.Xml.XmlNode
  </code></pre>
  
  <p>You can generate the list via one of the two commands:</p>
  
  <ul>
  <li>PS v2.0 <code>[type]::gettype("System.Management.Automation.TypeAccelerators")::Get</code></li>
  <li>PS v3.0 <code>[psobject].assembly.gettype("System.Management.Automation.TypeAccelerators")::Get</code></li>
  </ul>
  
  <p>PowerShell 3.0 adds an operator called [ordered]. Its not a type alias though. </p>
  
  <pre><code>PS C:\Users\zippy&gt; [ordered]
  Unable to find type [ordered]: make sure that the assembly containing this type is loaded.
  At line:1 char:1
  + [ordered]
  + ~~~~~~~~~
      + CategoryInfo          : InvalidOperation: (ordered:TypeName) [], RuntimeException
      + FullyQualifiedErrorId : TypeNotFound
  </code></pre>
  
  <p>However, it can cast <a href="http://msdn.microsoft.com/en-us/library/system.collections.hashtable.aspx" rel="noreferrer">Hashtable</a>s to <a href="http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary.aspx" rel="noreferrer">OrderedDictionary</a>s.</p>
  
  <pre><code>PS C:\Users\zippy&gt; ([ordered]@{}).GetType()
  
  IsPublic IsSerial Name                                     BaseType
  -------- -------- ----                                     --------
  True     True     OrderedDictionary                        System.Object
  </code></pre>
  
  <p>So my question is, if [ordered] is not a type accelerator, what is it?</p>