使用Object而不是泛型

Kyr*_*o M 3 c# generics object

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

在有能力的编程中是否仍然存在任何无法用泛型完成某些事情而仍然需要使用铸造的情况Object?如果是这样,请举例说明一下?谢谢.

Hen*_*man 6

使用System.Object提供灵活性(以性能为代价).

考虑ASP.NET(Session和Application)的存储机制,它们具有一般的结构

 Dictionary<string, object> PropertyBag;
Run Code Online (Sandbox Code Playgroud)

你会像他们一样使用它们

PropertyBag["currentCustomer"] = aCustmer;
PropertyBag["visits"] = 0;
Run Code Online (Sandbox Code Playgroud)

object在这里输入更强的东西是不可能的.