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 に答える