Use cases of [ordered], the new PowerShell 3.0 feature
- by Roman Kuzmin
PowerShell 3.0 CTP1 introduces a new feature [ordered] which is somewhat a shortcut for OrderedDictionary. I cannot imagine practical use cases of it. Why is this feature really useful? Can somebody provide some useful examples?
Example: this is, IMHO, rather demo case than practical:
$a = [ordered]@{a=1;b=2;d=3;c=4}
(I do not mind if it is still useful, then I am just looking for other useful cases).
I am not looking for use cases of OrderedDictionary, it is useful, indeed. But we can use it directly in v2.0 (and I do a lot). I am trying to understand why is this new feature [ordered] needed in addition.
Collected use cases from answers:
$hash = [ordered]@{}
is shorter than
$hash = New-Object System.Collections.Specialized.OrderedDictionary
N.B. ordered is not a real shortcut for the type. New-Object ordered does not work.
N.B. 2: But this is still a good shortcut because (I think, cannot try) it creates typical for PowerShell case insensitive dictionary. The equivalent command in v2.0 is too long, indeed:
New-Object System.Collections.Specialized.OrderedDictionary]([System.StringComparer]::OrdinalIgnoreCase)