boxing

    1熱度

    2回答

    ,我有以下的POCO類 public interface IObject { Guid Uid { get; set; } } public class Boo : IObject { public Guid Uid { get; set; } public String Name { get; set; } } public class Foo :

    1熱度

    2回答

    問題關於拳擊... int i = 2; int j = 3; int k = 4; object oi = i; object oj = j; object ok = k; oi = oj; object o = ok; 做最後2行導致2新的再boxings? 將一個盒裝值分配給另一個盒裝值(如最後一行旁邊)是什麼意思? 這是什麼意思分配一個盒裝值到一個新的對象變量,就像在最

    2熱度

    1回答

    這是我遇到的一個奇怪的問題。我有一個返回object的函數。在特定情況下,我確定該對象是int,但調用此函數的另一個函數需要float。我能得到這個工作的唯一方法是如下: private object parser(string expr) {...} private float parseFloat(string expr) { ... object result =

    2熱度

    3回答

    在Java中沒有像i C++這樣的操作符重寫,所以我無法弄清楚如何爲我自己的類實現裝箱/拆箱。 例如它的不可能性使用裝箱和拆箱使用整數或浮點數當我們這樣做有些事情是這樣的: int myVar = new Integer(25); 但我怎麼能實現在我的課爲MyObject類似的東西? (在我想自己包裝原始類型的情況下)。有沒有代碼示例?

    8熱度

    3回答

    我想在C#中創建類似於語義的值的類型。它是不可變的,並且具有較低的內存佔用量。但是,它大部分將通過它實現的接口來訪問。在這種情況下,值類型必須裝箱,這意味着實際值必須從堆棧複製到堆。因此,我想知道在使用值類型(struct)而不是引用類型(class)方面是否有優勢? 爲了說明我的情況,我提供一個接口I與實現ReferenceTypeImplementation和ValueTypeImplemen

    1熱度

    2回答

    我的問題是什麼在Java應用程序中使用了使用的原語盒裝元之間的優勢和劣勢? 這裏有一些優點和缺點,可能會或可能不正確: 一個優點是空允許這樣的類型對齊與數據庫類型的可能允許空值接近。 盒裝原語的另一個優點是,創造防守副本不需要你來初始化另一個基本類型,只有指針之一,它可以節省時間。 盒裝原語的一個缺點是它們在性能方面比基元更昂貴,但是流行的觀點似乎是後期在開發時值得擔心的,並且如果性能成爲問題。

    7熱度

    2回答

    我在做一些基準測試時遇到了這個問題。 bool b; MyStruct s; for (int i = 0; i < 10000000; i++) { b = (object)s == null; } 調試:200毫秒 推出:5毫秒 bool b; MyStruct? s = null; for (int i = 0; i < 10000000; i++) {

    0熱度

    1回答

    我正在使用反射從對象讀取屬性。 如果我讀取的值是引用類型(例如字符串[])我可以通過在陣列中的字符串施放此爲Object []數組和循環。 String[] Workers = { "Steve", "Sally", "Jim" }; Object SomeValue = Workers; // Prented that SomeValue is returned from r

    5熱度

    1回答

    我正在尋找良好的做法,以避免一遍又一遍地重寫相同的代碼來實現拆箱。說我有這樣的事情: def speedyArrayMaker[@specialized(Long) A: ClassTag](...): Array[A] = { val builder = Array.newBuilder[A] // do stuff with builder builder.res

    0熱度

    1回答

    我正在閱讀Jon Skeet的優秀書籍C# In Depth。他在關於裝箱和拆箱的部分中提到,使用盒裝物品的開銷很小,可以在一個足夠大的規模上實現性能差異。 因此,我編寫了自己的基準測試,使用for循環將所有數字從1增加到100,000,000。在一種情況下,我使用Int32,然後int,然後我投到object並退回到int。重複所有測試10次並取平均值。結果(以秒計): 的Int32平均:0.3