Microsoft naming conventions for .Net put constants in Pascal Case. In fact, it explicitly tells us to avoid using all caps for constants:
You might also have to capitalize
identifiers to maintain compatibility
with existing, unmanaged symbol
schemes, where all uppercase
characters are often used for
enumerations and constant values. In
general, these symbols should not be
visible outside of the assembly that
uses them.
From MSDN.
On SO I found some questions on the subject, like this one, but I couldn’t find a rationale. So, anyone know or have a reference that points to why MS chose this convention?
Its just a style guideline. Programming languages have started to recommend and push formatting conventions so that code is more readable.
Also, symbols that get substituted by the preprocessor deserve special attention– they live outside/before the type system and may not be what they appear to be. Constants are just constants, they won’t change at compile or runtime.