C# 将对象转换为ArrayList

C# 将对象转换为ArrayList,c#,vb.net,arraylist,C#,Vb.net,Arraylist,在从vb.net到c#的转换过程中,我遇到了这样一个错误“不能隐式地将对象转换为ArrayList”(第一个错误没有激活Strict选项:一切都已关闭) 有大量行的arrayList赋值等于c中arrayList中的一个位置# 如何修复这些错误?我感觉你在VB中没有严格的选项,会得到完全相同的错误。VB中的强制转换如下所示: Dim archivoLeido As ArrayList = CType(parametrosPartirDatos(0), ArrayList) ArrayList

在从vb.net到c#的转换过程中,我遇到了这样一个错误“不能隐式地将对象转换为ArrayList”(第一个错误没有激活Strict选项:一切都已关闭)

有大量行的arrayList赋值等于c中arrayList中的一个位置#


如何修复这些错误?

我感觉你在VB中没有严格的选项,会得到完全相同的错误。VB中的强制转换如下所示:

Dim archivoLeido As ArrayList = CType(parametrosPartirDatos(0), ArrayList) 
ArrayList archivoLeido = (ArrayList)parametrosPartirDatos[0];
在C#中,它看起来是这样的:

Dim archivoLeido As ArrayList = CType(parametrosPartirDatos(0), ArrayList) 
ArrayList archivoLeido = (ArrayList)parametrosPartirDatos[0];

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

我感觉您在VB中没有严格的选项,并且会得到完全相同的错误。你试过铸造吗?Dim archivoLeido=CType(parametroparpatirdatos(0),ArrayList)“parametroparpatirdatos”是如何声明的?@Dave Doknjas parametroparatisdatos被声明为ArrayList:D:D@the_lotus你是对的,代码没有严格的选项,但我不想在vb中强制转换;我的工作是将vb代码转换为c:)VB代码(即使在选项严格关闭的情况下)在赋值时也不会无异常运行。你确定你的例子没有遗漏什么吗?OP说parametrosPartirDatos也是一个ArrayList-所以原始VB和这个C#都会导致运行时异常。@DaveDoknjas似乎是ArrayList的ArrayList。在VB中,如果选项Strict处于关闭状态,则该选项将起作用,而不是处于打开状态。在C#中它永远不会起作用,除非所有的东西都正确铸造。除非我错过了什么。是的,那是有道理的。@the_lotus…以及如何正确地施法。。。在代码时间内,不要向我显示错误
ArrayList archivoLeido = (ArrayList)parametrosPartirDatos[0];