首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >List<T>和List<object>的区别是什么?

问List<T>和List<object>的区别是什么?
EN

Stack Overflow用户
提问于 2011-08-26 22:27:10
回答 6查看 3.5K关注 0票数 10

既然一切都继承自object,那么List<T>和List<object>有什么不同呢?优势?劣势?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-08-26 22:30:27

如果您将int插入到List<object>中,它将被装箱。如果您将其插入到List<int>中,它将不会被装箱(对于任何值类型都是如此,用类型的名称替换int )。类似地,对于从List<object>检索值,将发生拆箱,但对于List<int>不会。

List<T>是强类型的,而List<object>不是(因此您失去了编译时的安全性,并且可能导致运行时崩溃)。

票数 14
EN

Stack Overflow用户

发布于 2011-08-26 22:29:32

如果你有List<T>,你肯定一旦对象被实例化,list就只包含T类型的实例,在List<object>中你可以把任何东西放进去。

泛型是编写在编译时具有强类型的可重用代码的好方法。

票数 12
EN

Stack Overflow用户

发布于 2011-08-26 22:28:41

如果你使用List<object>,你将不会有任何的项目类型,并且将不得不转换所有内容。此外,这是危险的,因为您可以将任何内容放入列表中,而不确切地知道任何给定项目的返回内容。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7206179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档