首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用对象而不是泛型

使用对象而不是泛型
EN

Stack Overflow用户
提问于 2011-04-02 08:02:24
回答 2查看 248关注 0票数 3

如果我使用的是非泛型集合、函数等等,那么传递的值类型将因为转换为Object而被装箱(这对性能不利)。但是,在C# 2.0中包含泛型之后,大多数将值类型作为Object传递的情况被排除了。

胜任的编程中,是否还存在这样的情况:不可能使用泛型完成某些任务,仍然需要对Object进行转换?如果是的话,你能举个例子吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-02 08:27:12

System.Object的使用提供了灵活性(代价是性能)。

考虑到ASP.NET (会话和应用)的存储机制,它们具有

代码语言:javascript
复制
 Dictionary<string, object> PropertyBag;

你会用它们就像

代码语言:javascript
复制
PropertyBag["currentCustomer"] = aCustmer;
PropertyBag["visits"] = 0;

不可能用这里输入的更强的东西来代替object

票数 6
EN

Stack Overflow用户

发布于 2011-04-02 08:05:18

在有能力的编程中仍然存在这样的情况:不可能用泛型完成某件事情,仍然需要使用转换来实现对象

当然有。例如,在编译时不知道类型并需要使用反射的情况。但是如果您知道编译时的类型,最好使用泛型进行强类型。

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

https://stackoverflow.com/questions/5521987

复制
相关文章

相似问题

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