Search Issue Tracker
By Design
Votes
0
Found in
5.3.4f1
Issue ID
840104
Regression
No
Default string comparer for Enumerable.OrderBy is wrong in webGL
Default string comparer for Enumerable.OrderBy is wrong in webGL
(new string[] { "abc", "XY", "CDE", "ijk" }).OrderBy(s => s).ToArray()
returns [abc, CDE, ijk, XY] on .NET, Unity and Mono, but returns [CDE, XY, abc, ijk] on Unity/webGL
It seems that the default string comparer should be case-insensitive, while it's currently case sensitive in webGL player.
I've tried an iOS build and it sorts correctly, so the issues seems to be confined to the webGL player implementation and not to IL2CPP.
To reproduce:
1. Build and run attached project for WebGL platform
2. Click Manual Test button
3. Notice that Enumerable.OrderBy returns wrong value
Reproducible: 5.5.0b7, 5.4.1.p4, 5.3.6p7
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Duplicate External Textures start appearing when a Texture created with "CreateExternalTexture" is modified causing Memory Usage spikes on VisionOS
- Silent crash when using a "Blend Shape" in a "Skinned Mesh Renderer" to move vertices to Vector3.positiveInfinity, and "Occlusion Culling" is baked
- Some Prefab Source and Override content bounds are misaligned
- The Package Manager's "install packages by..." panels break when Domain Reload is triggered, and the panel is open
- Crash with multiple stack traces when leaving a docked VFX Graph open
Add comment