将一些代码从VB.Net转换为C#,当我遇到这个时,在使用Ionic Zip库的一些代码中:
Dim zipEntry1 As ZipEntry = zipFile1.Entries(0)
Run Code Online (Sandbox Code Playgroud)
很简单:
ZipEntry zipEntry1 = zipFile1.Entries[0];
Run Code Online (Sandbox Code Playgroud)
我在C#上遇到这个错误:
无法将带有[]的索引应用于类型为"System.Collections.Generic.ICollection"的表达式
两者都使用相同版本的DLL,两者zipFile1.Entries都是通用的ICollection.
我在VB.Net上测试了下面的内容,它成功构建:
Option Strict On
Option Explicit On
Imports Ionic.Zip
Module Module1
Sub Main()
Dim zipFile1 = ZipFile.Read("C:\test")
Dim zipEntry = zipFile1.Entries(0)
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
这不构建:
using Ionic.Zip;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var zipFile1 = ZipFile.Read(@"C:\test");
var zipEntry = zipFile1.Entries[0];
}
}
}
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,有没有解决方法呢?