相关疑难解决方法(0)

为什么我可以将索引器应用于VB.Net中的ICollection,而不是C#中

将一些代码从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)

为什么会发生这种情况,有没有解决方法呢?

c# vb.net icollection

14
推荐指数
2
解决办法
1329
查看次数

标签 统计

c# ×1

icollection ×1

vb.net ×1