I understand that String is an object, as opposed to say Int, and object variables generally don't point to anything unless you create the object. So I know how it works.
But, in terms of simple, practical programming, why doesn't .NET initialise a string as empty (""), as that is surely the most common use of the string variable - as a string, not as an object?
I've never (yet) had need for a string to be null, that is "not a string". It seems to be a rare requirement. I'm unable to say an int variable is null, so why do so with string? Having it as an option is undoubtedly necessary, but why does .NET make it null to begin with, when int etc. are given proper initial values?
I'm asking because I like to understand not just how something works but why, as it reduced my desire to rant about how weird it seems. :)