Sometimes when I call a class\'s .ToString() method, it returns the fully qualified name of the class. But for some class\'s/struct\'s (like Int32)
Sometimes when I call the
ToStringmethod it returns the fully qualified name of the runtime type of the object that received the call.
Correct.
But for some types, such as
System.Int32,ToStringreturns the value of the receiver converted to a string.
Correct.
Does the
System.Int32struct override theToStringmethod?
Yes.
Do other types whose
ToStringmethods return the fully-qualified type name not overrideToString?
That is probably the case, yes. Of course, they could override the method and have the overriding method do exactly the same thing as the base class method, but that would be a bit pointless.
So in those cases, calling
ToStringjust calls theSystem.Objectimplementation ofToString, which returns fully qualified name?
Correct.
You seem to have a solid grasp of how this works. My only correction would be to note that System.Int32 is a struct, not a class.