c# - 将对象转换为 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]);`
我该如何解决这些错误?
解决方案
我感觉你的 VB 中没有 Option Strict On 并且会得到完全相同的错误。在 VB 中进行强制转换如下所示:
Dim archivoLeido As ArrayList = CType(parametrosPartirDatos(0), ArrayList)
在 C# 中,它看起来像这样:
ArrayList archivoLeido = (ArrayList)parametrosPartirDatos[0];
我强烈建议您使用 List(Of T)。
推荐阅读
- reactjs - componentDidMount 未在道具更改时触发
- r - 根据 75h 百分位数创建虚拟变量
- java - 在创建对象期间无法直接在 Java 中初始化类的属性
- sql - 从 2 列表(行到列)创建具有多列的表
- amazon-web-services - AWS API Gateway 自定义域路径传播
- javascript - Firebase 排行榜 JSON
- apache-spark - 如何在 AWS EMR 集群上升级 Spark 版本?
- python - 我在 discord.py 中为我的机器人创建了一个 afk 命令,但是当我执行 Afk 命令时,ping 时它只有 1 个字
- javascript - 使用 webpack 4 或 5 捆绑静态网站
- firebase - 未处理的异常:FormatException:使用注册 Firebase 方法时出现意外字符(在字符 1 处)