无法运行基本的LINQ查询

Mic*_*zyn 5 linq vb.net

我遗漏了一些非常基本的东西,我不知道是什么......我对Linq有一个例外:

Dim arch As List(Of String)
'gets archive as String() and casts it as List
arch = client.GetArchive().ToList() 
'here exception occurs: Cannot cast object of type 'WhereSelectListIterator`2'...
arch = From a In arch
       Where a.EndsWith(System.Environment.UserName & ".htm")
       Select a
Run Code Online (Sandbox Code Playgroud)

Sas*_*sha 6

正如它所说,你正试图将迭代器存储在列表中.

试试这个:

arch = arch.where(Function(x)x.EndsWith(System.Environment.UserName & ".htm")).ToList()
Run Code Online (Sandbox Code Playgroud)

我更喜欢扩展linq,但它只是偏好,我的工作原因是因为ToList():)

  • 在VB.NET中,我更喜欢查询语法,比C#更强大,并且在任何地方都没有丑陋的`Function`-keyword. (3认同)