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