mikeydk
asked on
Sort version numbers - Powershell
Hey
How do I sort version numbers: (in an array)
1.1.0.8400
1.10.0.14127
1.10.1.14414
1.11.0.14649
1.11.1.14865
1.12.0.15302
1.12.1.15602
1.12.1.15662
1.2.0.9064
1.4.0.10352
1.5.0.11365
1.5.0.11534
1.6.0.12058
1.7.0.12519
1.7.1.12780
1.8.0.13165
1.9.0.13640
1.9.1.13731
How do I sort version numbers: (in an array)
1.1.0.8400
1.10.0.14127
1.10.1.14414
1.11.0.14649
1.11.1.14865
1.12.0.15302
1.12.1.15602
1.12.1.15662
1.2.0.9064
1.4.0.10352
1.5.0.11365
1.5.0.11534
1.6.0.12058
1.7.0.12519
1.7.1.12780
1.8.0.13165
1.9.0.13640
1.9.1.13731
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
@aikimark - no that doesn't work because with string sorting you will get results like 1.12.1.15662 before 1.2.0.9064.
It depends on the source of the data in the array. If they went in as versions, they shouldn't need casting. If they came in as strings, then they will need to be cast as version data, either on input (population of the array) or in the Sort operation (as you've shown).
It's a good point to make that it may be better to cast the data during population of the array.
I assumed that the data in the array is just strings from the way the question was asked, but that could be incorrect.
I assumed that the data in the array is just strings from the way the question was asked, but that could be incorrect.
Open in new window