在从vb .net到c#的转换中,我收到此错误“无法将对象隐式转换为ArrayList”(第一个没有激活“严格”选项:所有功能均已关闭)
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]);`
如何解决这些错误?
答案 0 :(得分:3)
我感觉到您的VB中没有“严格启用选项”,并且会得到完全相同的错误。在VB中进行投射应如下所示:
Dim archivoLeido As ArrayList = CType(parametrosPartirDatos(0), ArrayList)
在C#中,它看起来像这样:
ArrayList archivoLeido = (ArrayList)parametrosPartirDatos[0];
我强烈建议您使用List(Of T)。