可能重复:
How do ValueTypes derive from Object (ReferenceType) and still be ValueTypes?
我能够编写像这样的代码,
String s = 10.ToString();
ToString()只有在特定对象继承类'Object'时才会出现(当然所有类都继承了c#中的Object)。它是否仍然继承了类'对象'。如果是这样的话?
答案 0 :(得分:4)
10号是否也继承了班级'对象'。如果是这样的话?
根据规范,文字10
由编译器解释为Int32
的实例。 Int32
继承自object
。因此,10
是继承自object
的类型的实例。因此,它有一个名为ToString
的实例方法。
答案 1 :(得分:0)
很简单,所有原语(包括文字)都是.NET中的对象,因此继承.NET对象具有的所有方法(包括ToString())。有关基元到.NET对象的映射,请参阅MSDN文档:http://msdn.microsoft.com/en-us/library/ms228360(v=VS.80).aspx。