既然一切都继承自object,那么List<T>和List<object>有什么不同呢?优势?劣势?
发布于 2011-08-26 22:30:27
如果您将int插入到List<object>中,它将被装箱。如果您将其插入到List<int>中,它将不会被装箱(对于任何值类型都是如此,用类型的名称替换int )。类似地,对于从List<object>检索值,将发生拆箱,但对于List<int>不会。
List<T>是强类型的,而List<object>不是(因此您失去了编译时的安全性,并且可能导致运行时崩溃)。
发布于 2011-08-26 22:29:32
如果你有List<T>,你肯定一旦对象被实例化,list就只包含T类型的实例,在List<object>中你可以把任何东西放进去。
泛型是编写在编译时具有强类型的可重用代码的好方法。
发布于 2011-08-26 22:28:41
如果你使用List<object>,你将不会有任何的项目类型,并且将不得不转换所有内容。此外,这是危险的,因为您可以将任何内容放入列表中,而不确切地知道任何给定项目的返回内容。
https://stackoverflow.com/questions/7206179
复制相似问题