可能的重复:
ValueTypes 如何从 Object (ReferenceType) 派生并且仍然是 ValueTypes?
我能够编写这样的代码,
String s = 10.ToString();
ToString() 仅在该特定对象继承类“Object”时才会出现(当然,所有类都继承了 c# 中的 Object)。10号是否也继承了“对象”类。如果有怎么办?
可能的重复:
ValueTypes 如何从 Object (ReferenceType) 派生并且仍然是 ValueTypes?
我能够编写这样的代码,
String s = 10.ToString();
ToString() 仅在该特定对象继承类“Object”时才会出现(当然,所有类都继承了 c# 中的 Object)。10号是否也继承了“对象”类。如果有怎么办?
10号是否也继承了“对象”类。如果有怎么办?
根据规范,该文字10
由编译器解释为Int32
. Int32
继承自object
。因此,10
是从 继承的类型的实例object
。因此,它有一个名为 的实例方法ToString
。
很简单,包括文字在内的所有原语都是 .NET 中的对象,因此继承了 .NET 对象具有的所有方法(包括 ToString())。有关原语到 .NET 对象的映射,请参阅 MSDN 文档:http: //msdn.microsoft.com/en-us/library/ms228360 (v=VS.80).aspx 。