【发布时间】:2017-09-08 16:59:34
【问题描述】:
class Program {
static void Main(string[] args) {
Int32 i = 123;
Double d = 123.456;
FunPrint(i);
FunPrint(d);
}
static void FunPrint(object obj) {
Console.WriteLine(obj);
}
}
我对这个示例的理解是,FunPrint() 首先创建了一个新对象,并根据传递的 ValueType 的值(在本例中为Int32)构建它。其次,调用Object.ToString() 并正确显示特定于ValueType 的字符串格式。
值类型不包含虚函数,所以...
我不明白Object 是如何知道它在内部持有什么类型以便进行正确的字符串格式化。
【问题讨论】:
-
我想知道这是否是一个模板之类的东西。 Object
.. T.ToString() .. 因为编译器会在编译时知道所有类型。但这只是我的猜测。
标签: c# object tostring value-type