2009-04-22 76 views

回答

11

会有什么意义?任何没有构造函数的.NET值类型都有一个文字形式。如果它们没有文字形式,那么就不可能提供一个将其类型作为参数的构造函数。

既然你有字面意思,提供一个构造函数,采取这种文字是没有意义的。

没有文字,无法
int i = new int(new int(new int(...))); 
随着文字
int i = new int(5); // What is the point? Would the constructor do *anything* 
        // besides int i = 5? 
0

这可能听起来很奇怪,但你为什么要? - 复杂类型是有意义的,因为您使用1-n输入来获得结果,但int只是返回一个int ...所以为什么?

+0

只是因为好奇才想知道。就像你可能只想直接使用类似Int64的类型一样,就像其他类型一样,即使类型可能会从其他类型转换,如:MyType mine = 5; – 2009-04-22 22:38:25

2

设计的一部分知道该怎么离开了。由于它没有增加价值,所以没有编码。

1

只是这些类型只有一个默认的构造函数。许多其他复杂的.net类型也只有一个默认的构造函数。我猜想没有参数化的原因是因为正如其他答案所提到的那样,其中没有一个真正的理由。

相关问题