.net - 如何将对象转换为对象数组

标签 .net vb.net

将对象转换为 Object() 的正确语法是什么。这是一个例子:

Dim obj as Object = {1,2,3}   'integer array or array of anything
Dim objArr as Object() = CType(obj, Object())

我似乎找不到正确的方法...

最佳答案

没有语法,因为这是不可能的。不能将整数数组转换为对象数组,因为整数不是对象。

将对象引用转换为整数数组引用效果很好:

Dim objArr As Integer() = CType(obj, Integer())

您可以将数组中的每个整数转换为一个对象,以使用整数数组中的值创建一个对象数组:

Dim objArr As Object() = CType(obj, Integer()).Cast(Of Object)().ToArray()

编辑:

当您编辑您的问题以包括任何类型的数组,而不仅仅是整数数组时,按照您的建议转换为 IEnumerable 可以正常工作,因为在下一步中任何类型仍然可以转换为 Object:

Dim objArr As Object() = CType(obj, IEnumerable).Cast(Of Object)().ToArray()

关于.net - 如何将对象转换为对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23480707/

相关文章:

c# - 在非静态类中,如何保留在多个不同类中同时调用的静态方法中使用的静态变量的值

mysql - 如何将日期值放入变量中?

c# - 将字符串写入文件会生成意外内容

html - CSS 适用于在 firefox 中工作的 aspx 页面,但不适用于 IE。只有 1 个按钮的样式不起作用。有任何想法吗?

vb.net - Visual Studio 2015 导航栏消失

vb.net - 如何反转这个算法来找回原文呢?

c# - 具有共享 web.config 日志记录的多个 Web 服务使用 Ent Lib 分离平面文件

.net - 如何禁用 Windows 窗体 DataGridView 中单元格文本的省略号?

.net - 在带有 SOS 的 WinDbg 中查找静态字段的地址

c# - 如何在不同的浏览器中获取 Html 文档,当 Html 文档完全加载时作为图像?