问题标签 [boxing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
13229 浏览

java - 是否有内置的 Java 方法来装箱数组?

有没有可以用来代替这种自定义方法的标准方法?

0 投票
2 回答
1010 浏览

c# - 扩展 System.Object 时如何避免装箱/拆箱?

我正在研究一种仅适用于引用类型的扩展方法。但是,我认为,它目前正在对值进行装箱和拆箱。我怎样才能避免这种情况?

示例用法:

在某些方法中:

0 投票
2 回答
1138 浏览

c# - CLR 如何知道装箱对象的类型?

当一个值类型被装箱时,它被放置在一个无类型的引用对象中。那么是什么导致了无效的强制转换异常呢?

0 投票
1 回答
209 浏览

.net - .NET:装箱时 double.Equals() 的奇怪行为

这里发生了什么?

0 投票
1 回答
274 浏览

c# - 关于拳击 / c# 的基本问题

添加后是否可以更改存储在其中的值bar

我试过“装箱”字符串foo,但它不起作用。

0 投票
7 回答
360 浏览

c# - C# 类型转换

我有两个对象。对象 A 和对象 B。

对象 A 是从多个 XSD 文件生成的类的实例。使用 xsd.exe /c 并编译它们。现在我有了我的新对象。

我还有一个 Web 服务,它返回与对象 A 非常相似的东西。所以现在我有一些类似的东西:

我想做的是这个

然而,它并不是真的喜欢这个。说“无法将 MyFramework.foo[] 隐式转换为 WebService.foo[]

关于如何解决这个问题的任何想法?物体很大,它们基本相同。

0 投票
3 回答
714 浏览

.net - 拆箱是否只返回一个指向堆上装箱对象内的值的指针?

在这篇 MSDN 杂志文章中,作者指出(强调我的):

请注意,装箱始终会创建一个新对象并将未装箱值的位复制到该对象。另一方面,拆箱只是返回一个指向装箱对象中数据的指针:不会发生内存复制。但是,通常情况下,您的代码将导致未装箱引用指向的数据无论如何都被复制。

我对我加粗的句子及其后面的句子感到困惑。从我读过的所有其他内容中,包括这个 MSDN page,我以前从未听说过拆箱只会返回一个指向堆上值的指针。我的印象是拆箱会导致您拥有一个包含堆栈上值副本的变量,就像您开始时一样。毕竟,如果我的变量包含“指向堆上值的指针”,那么我没有值类型,我有一个指针。

有人可以解释这是什么意思吗?作者是在破解吗?(文章中至少还有一个明显的错误)。如果这是真的,“您的代码将导致未装箱引用指向的数据无论如何都被复制”的情况是什么?

我刚刚注意到这篇文章已经有将近 10 年的历史了,所以这可能是 .Net 生命早期发生的变化。

0 投票
4 回答
1525 浏览

c# - Boxing & Unboxing

Is "i" considered to be boxed?

0 投票
7 回答
1638 浏览

.net - 将此 ArrayList 转换为通用列表是否有效?

我正在编写的代码从非托管代码接收一个 ArrayList,而这个 ArrayList 将始终包含一个或多个 Grid_Heading_Blk 类型的对象。我考虑过将此 ArrayList 更改为泛型列表,但我不确定转换操作是否会如此昂贵,以致于抵消使用泛型列表的好处。目前,我只是foreach (Grid_Heading_Blk in myArrayList)在将 ArrayList 传递给将使用它的类之后运行一个操作来处​​理 ArrayList 的内容。

我应该将 ArrayList 转换为通用类型列表吗?如果是这样,最有效的方法是什么?

0 投票
4 回答
17867 浏览

c# - 结构、接口和装箱

可能重复:
结构实现接口是否安全?

拿这个代码:

然后我在某处这样做:

在这种情况下是SomeStruct盒装的吗?