首页 > 解决方案 > 将对象转换为 ArrayList

问题描述

我在从 vb .net 到 c# 的转换中收到此错误“无法将对象隐式转换为 ArrayList”(第一个没有激活选项 Strict:一切都已关闭)

Dim archivoLeido As ArrayList = parametrosPartirDatos(0)

有大量行的arrayList分配等于c#中arrayList中的位置

ArrayList archivoLeido = parametrosPartirDatos[0]//<--- this is a string type;

甚至一个 arraylist 被分配给另一个接收 arraylist 作为参数的方法:(ModificarCamposENR(arraylist, arraylist)

`parametrosPartirDatos[0] = EjecutarETL.ModificarCamposENR(parametrosPartirDatos[0], parametrosPartirDatos[17]);`

我该如何解决这些错误?

标签: c#vb.netarraylist

解决方案


我感觉你的 VB 中没有 Option Strict On 并且会得到完全相同的错误。在 VB 中进行强制转换如下所示:

Dim archivoLeido As ArrayList = CType(parametrosPartirDatos(0), ArrayList) 

在 C# 中,它看起来像这样:

ArrayList archivoLeido = (ArrayList)parametrosPartirDatos[0];

我强烈建议您使用 List(Of T)。


推荐阅读