1

我最近的代码包括很多 装箱和拆箱,因为我的许多变量都是在运行时解析的。但是我读过装箱和拆箱在计算上非常昂贵,所以我想问一下是否还有其他方法来装箱/拆箱类型?这甚至是使用它的好习惯吗?

4

2 回答 2

7

使用Generics....

更多信息在这里


例如

List lst=new List();//non generic List accepts any kind of object
lst.Add(44);//this causes unnecessary boxing from int to object
lst.Add(100);//this causes unnecessary boxing from int to object

如果您确定列表将始终包含一个整数,您可以使用泛型..

List<int> lst=new List<int>();
lst.Add(44);//no boxing or unboxing
lst.Add(100);//no boxing or unboxing
于 2012-11-22T17:12:57.963 回答
-1

在那个特定的问题中,我可以说使用更通用的类型,在这种情况下是字符串,如果它是数字,则将其解析为数字。更一般的方法是创建自定义结构或使用带有字段的元组,说明它对每个案例的真正答案是什么,但它很难看。

于 2012-11-22T19:27:57.833 回答