System.String lacks a couple of things that I would have thought would be standard behavior. First, it has no member to tell you if the string is empty. the only way is to write the code

Code:
if (myString.length == 0)
The C++ std::string has this functionality, and I use it all the time.

Second, I cannot derive a class from System.String to add this functionality. Why would microsoft make it a sealed class, when it's reasonable to expect that someone might want to inherit the functionality of a string?