C# predefined types vs primitive types?
c#
Solution
In the Type.IsPrimitive documentation page there's a complete list of primitive types:
The primitive types are Boolean, Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, IntPtr, UIntPtr, Char, Double, and Single.
And section 1.2.1 (Predefined types) clearly makes the difference between these and predefined reference types:
The predefined reference types are `object` and `string`. The type `object` is the ultimate base type of all other types. The type `string` is used to represent Unicode string values.
So I guess it's quite obvious they are different - at least, in .NET terminology.
Problem
I have been studying C# lately and there is a thing called "predefined type". I thought it is another name of the primitive type. But my friend told me that those are quite different from each other. Just got confused. Are these two names for the same thing, or are they totally different?